采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
[疑惑]100000-0111的结果就是11001,前面的1不是计算出结果后再加进去的(按讲师的说法是计算得出结果后,再额外加进去的?),而是计算后的结果就是这样的。 [疑惑2]+7的原码时0111,0表示符号位。-7的话,不应该是把前面的0改为1变为1111吗?为何直接在+7的原码前面的符号位前面再加1了(而不是把原来的符号位0改为1?)? 跳跃太大没理解,是跟n有关吗?n对它的位数有什么影响?
根据后面的例子推测,
也就是说,n是不带符号的位数?如n=4是表示4位,但这四位不带符号,不足四位在前面补0。然后再在前面补0或1。
跳跃太大只能自己推测了
那么如果实际位数大于4,是不是4位就不够用了,需要扩展到8位? 然后不足8位的话,前面需要补足0了。然后前面加一位0(正数)或1(负数),最后是9位了。
看起来是这样的
原码前面的0不是符号位,而是为了凑n=4的数字位,符号位在逗号之前单独添加。然后算出补码之后,补码的第一位天然就是符号位,不用自己加
二进制 借位取2 相减,和十进制做减法减数不够高位借位取10一样
登录后可查看更多问答,登录/注册
编程之前先学这门课,系统补足计算机基础知识,夯实编程地基
3.4k 17
1.8k 14
1.2k 13
1.4k 11