作业帮 > 数学 > 作业

左移赋值 有符号右移赋值 无符号右移赋值 请举例说明,

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/16 05:06:57
左移赋值 有符号右移赋值 无符号右移赋值 请举例说明,
有符号数和无符号数,主要是将数据转成2进制后,第一位的意义,有符号数第一位为符号位,1表示负数,0表示整数.无符号数第一位都是0
再问: 能否举个例子? 如:-14>>=2
再答: -14>>=2:就是将-14右移动2位。 -14原码:1000 0000 0000 0000 0000 0000 0000 1110 -14反码:1111 1111 1111 1111 1111 1111 1111 0001 -14补码:1111 1111 1111 1111 1111 1111 1111 0010 右移2位 得到补码:1011 1111 1111 1111 1111 1111 1111 1100 得到反码:1011 1111 1111 1111 1111 1111 1111 1011 得到原码:1100 0000 0000 0000 0000 0000 0000 0100 -14>>2值: 1073741828
再问: 这么复杂啊!看不懂 左移赋值很简单啊! 不过好像结果是-4
再答: 有符号数右移的却跟左移不同。左移的时候是不改变符号位是不移动的。 因为右移的过程中,补码会在符号位后添加“0”,取反后会变“1”,导致原码不对,所以才会出现错误。有符号数右移的情况都是将有符号数强转无符号数,然后再加符号。 因为右移左移是不会改变符号位的。