或操作符号,并操作的操作符为
Yyds干货库存
1.算术运算符/除法的注意事项:如果/两端的操作数都是整数,则执行除法;如果您想得到小数,请确保除数和被除数中至少有一个是浮点数,并由double/float定义。%取模操作注意:需要保证取模的两端都是整数。2.轮班操作员1。右移位运算符:
分为算术右移(右弃,左补原符号位)和逻辑右移(右弃,左补0)。注意,我们用的时候,大部分都是算术右移。
示例:如果-1向右移动,打印输出仍将是-1。
原理:整数存储时都用补码,但正数的原码补码和反码三码一样。负数到处都是补码,所以我们在运算的时候,都是对补码进行运算,但是我们使用和打印的是原码,所以需要进行逆码转换。
灵魂总结:负数移位时,先将负数的原码转换成补码,然后对补码进行运算,最后打印,再将运算后的补码转换成原码进行打印。提示:逐位求逆和逐位求逆的区别包括符号位,而从原码逐位求逆到逆码保持符号位不变,其余位逐位求逆!
向右移动一位,数字就会被2除。
2.向左移动操作员。
数字乘以2。
左边弃掉,右边加0。
警告:您不能移动负数。这是一种未定义的行为。
仅适用于整数。
第三,按位运算符看第一个音符。
四、一个恶心的面试问题不创造临时变量,交换两个数的值。
1.方法一:加减法
缺陷:可能会溢出,因为整数只占4个字节,数值太大就会溢出。
2.方法二:异或法(同为0,差为1)
你可以直观的把第一个A B的输出结果当作一个密码,然后把这个密码分别和原来的A和B进行异或运算,得到结果。
缺陷:这段代码也有缺陷,一是效率低,二是可读性低。
5.做法1。求整数的二进制位中存储的1的个数,即求补码中1的个数。
关键:如何找到一个数的最后一位?然后用移位运算符找出这个数的每一项是否为1:这个数可以是1,因为1=000000000000000000000001。如果结果是1,说明最后一位是1,其余位逐位反转,直接变成0。
原理:按位and比较两个数。如果一个数字是0,则按位and的结果是0。
提示:计算数字时通常使用count。
练习一个一个地输出123的数字。
有一个通用公式:首先,然后/10,直到结果为0。
六、单目运算符sizeof计算变量占用内存空间的大小,单位为字节,
数组具有相同的类型。去掉数组名,剩下的就是类型了。
转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。