左移:
无论是有符号数,还是无符号数,左移动都是向左移动,
高位丢弃,低位补0.
例如:
unsigned char x = 0x34; ----->二进制数:0011 0100
内存中的形式为:0011 0100
X<<1 ==> 移位前:0011 0100
移位后:0110 1000 ----->0x68 ----->十进制数:104
本文详细解析了C语言中位移运算的原理,通过实例展示了正数和负数左移和右移的过程,并解释了在内存中如何表示补码。对于负数,向右移动时高位补1,低位舍弃,而正数的补码就是其原码。通过位移运算,可以理解补码在内存存储和计算中的作用。
例如:
unsigned char x = 0x34; ----->二进制数:0011 0100
内存中的形式为:0011 0100
X<<1 ==> 移位前:0011 0100
移位后:0110 1000 ----->0x68 ----->十进制数:104
2723
1314
956

被折叠的 条评论
为什么被折叠?
&spm=1001.2101.3001.5002&articleId=53128584&d=1&t=3&u=5620ff6b28c1416f9340ea5bcdee3dcd)