-5》2 0000 0101
1111 1010+1=1011》2=1111 1110
1111 1110等于几啊
1111 1110 ---->这是负数的二进制表现形式,对应的正数为
— 0000 0001------> -1操作
-------------------
1111 1101 ------>取反
0000 0010 =2
所以,1111 1110 =-2
-5/4=-1 怎么得到的。。
取模运算 (%) 规律:
1.左边绝对值小于右边,模取左边
2.模的正负值取决于左边 这个记住就行了,跟数学规律一样没必要深究
-5《2 0000 0101
1111 1010+1=1011《2=1110 1100等于几啊 -12?
-5<<2
0000 0101 ---->对应的正数
1111 1010------>取反
+0000 0001------->+1操作
---------------
1111 1011-------->-5的表现形式
1111 1110--------->右移2位
---------------------------------------------
1111 1110 ------->很明显是负数二进制表现形式 -5<<2 的结果
- 0000 0001-------->-1操作
---------------------------
1111 1101-------->-1后的结果取反得到结果 0000 0010 =2
所以 -5<<2 的结果 为-2
正数左右移位相当于乘除2的次方,那负数的左右位移还相当于乘除2的次方,对不?? 好像没有这么一说,位运算最好用>>>,对于负数而言,最高位是1,>>最高位是1补1,是0补0,>>>最高位不管是0还是1都补0,如果是负数,用>>那么无论你怎么移也移不完
|