计算机组成原理 c语言

如题所述

首先你要明白计算机里定点数(区分浮点数)的表示方法:(符号位 数值位),比如题目的10110010的意思应该是:1(符号位,表示负数) 0110010(数值位)。
所有的移位操作都是针对数值位的。比如右移:1(符号位不变) 0(右移补得0)011001 (最后一个0被挤掉),所以为:1 0011001.注意,左右移位只针对数值位,但是补码的加减是连同符号位一起运算的。所以才要考虑溢出(在运算器中是通过双符号位检测溢出的)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-28
最前面的两个码是效验码,不能动
第2个回答  2014-02-28
算数右移,符号位不动,如果是全移也不是你写的,应该是11011001追问

算数移位符号味都不动么

追答

这里二进制数算数移位就是乘以2,移n位乘2的n次方,符号位乘的时候称之前是什么就是什么,逻辑移位我说错了,不好意思,都加零就是你写的

第3个回答  2014-02-28
算术右移最高位是补符号位(可以是0或1),追问

我分不清什么时候符号位变什么时候符号位又不动

追答

题目上有讲呀,已经有说最高位是符号位了。

相似回答