...操作符,二元操作符*=的运算规则
Yyds干货库存
1.比特倒置的应用场景1。如何把二进制数的一位改成1?
可以执行按位OR(如果一个为真1,则输出结果为真),也可以执行前一个1。
提示:如何在二进制系统中定位一个数字?可以向左移动n个字符。
2.还原并返回第一个问题的编号。
可以按位and,但是如何得到按位and这个二进制数需要对原二进制进行按位求逆!
第二,前后的区别
第一个输出结果是11,第二个输出结果是10。
三。sizeof易错问题的输出结果40 10 4 4
第三个和第四个:因为第一个元素的地址是在数组作为参数传递的时候给定的,所以接受的时候用指针变量来接收。指针的大小是4/8字节,所以输出结果是4或8(取决于计算机配置)。
4.逻辑运算符逻辑运算符通常判断它们是真还是假。逻辑!
输出为假-0。
只要其中一个为假,输出结果为假。
或者,只要一个为真,输出结果为真-1,两个都为假,输出为假。
5.一个面试问题(逻辑和的套路):
1 2 3 4
因为a,先用后加,所以a=0,这是假的。
提示:逻辑和运算符的特点:只要左边是0,右边是什么都不算!
或者说,只要左边是真的,右边就不算!
总结:电脑懒!还有逻辑,只要左边是0,右边就不算!或者说,只要左边是真的,右边就不算!\ VI。结构运算符
第一,在主函数之外创建一个结构,结构就是结构,所以你只需要定义变量名和创建结构,注意结构背后的需求。然后在主函数中初始化它。
注意struct stu是一个变量,就像int和float一样。
初始化时,需要花括号{}。
如果要打印,使用变量之一s1,并且需要使用。点运算符。
-结构指针指向运算符。
、
七。表达式求值提示:二进制计算方法:每二进一
1.隐式类型转换
字符和短整数操作数之间的转换称为整数提升。
如何提高整数?
根据变量的数据类型的符号位确定变量的类型。
总结:计算前要进行整数提升。只要表达式中出现char/short类型,如果不符合int就要进行整数转换。示例1
输出是-126。
原因:1和3是整数类型,在内存中存储4字节32位,000000000000000000000011。
2.但它是以只有一个字节的char类型存储的,所以被截断了,只有8位,0000011。
3.同样的,win R后,output calculate,找到计算器,127的二进制数是0111111,同样占用一个字节。
4.计算前应进行整数改进。
5.在截断的过程中,C存储1000这时候就需要提升整数,按照高阶符号来补位。
6.我们打印的是原码,但存储的是补码,所以经过转换后,我们得到的结果是-127。
示例2
提示:十六进制转换成二进制的算法0x前缀表示是十六进制,a=10,b=11,c=12,d=13,e=14,f=15,因为每16进一,没有16左移,就像二进制没有2一样。
只有每一位的十六进制数需要转换成相应的4位二进制数。
注意,是4位数。比如十六进制的1,转换成二进制就是0001。
这个题目有==,说明有计算,所以需要整数提升。
示例3
产出1 4 1
原因:C表示计算,所以需要整数升级到4字节。
还有“!”在C语言中是非运算符。用在变量前面会构建一个非运算表达式!所以结果仍然是1,
算术转换:
Int表示最低级别,在计算前转换为高级类型。
注意:
这是一个问题表达式,唯一的计算方法无法确定。总结完再写代码,另外写。
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。