1111 1111 1111 1111 1111 1111 1010 1110 ffffffae
& 0000 0000 0000 0000 0000 0000 1111 1111 0Xff
___________________________________________________
0000 0000 0000 0000 0000 0000 1010 1110
0 0 0 0 0 0 A E
& 0000 0000 0000 0000 0000 0000 1111 1111 0Xff
___________________________________________________
0000 0000 0000 0000 0000 0000 1010 1110
0 0 0 0 0 0 A E
1111 1111 1111 1111 1111 1111 1011 0000 ffffffb0
& 0000 0000 0000 0000 0000 0000 1111 1111 0Xff 0x表16位
___________________________________________________
0000 0000 0000 0000 0000 0000 1011 0000
0 0 0 0 0 0 B 0
& 0000 0000 0000 0000 0000 0000 1111 1111 0Xff 0x表16位
___________________________________________________
0000 0000 0000 0000 0000 0000 1011 0000
0 0 0 0 0 0 B 0
>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;
>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。
例如:
res = 20 >> 2;
20的二进制为 0001 0100,右移2位后为 0000 0101,则结果就为 res = 5;
<< 是与>>对应的左移运算符,表示将exp1向左移动exp2位,在低位补0。其实,向左移动n位,就相当于乘以2^n。
左移没有<<<运算符!
>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。
例如:
res = 20 >> 2;
20的二进制为 0001 0100,右移2位后为 0000 0101,则结果就为 res = 5;
<< 是与>>对应的左移运算符,表示将exp1向左移动exp2位,在低位补0。其实,向左移动n位,就相当于乘以2^n。
左移没有<<<运算符!
2017-08-11
吐槽一下,老师写if语句时没有加大括号,然后我写的时候加了,运行结果就和老师的不一样,我只想说,碰到if还是加大括号好些,毕竟没有老师这么强的编程能力。有大括号的时候
大括号里面所有的 都归if管。只有条件为真的时候 才会执行。
没有大括号的时候 只有下面的一句归if管,
大括号里面所有的 都归if管。只有条件为真的时候 才会执行。
没有大括号的时候 只有下面的一句归if管,
2017-08-11