[x]补码:10011000,其原码为
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 01:31:38
[x]补码:10011000,其原码为
pascal语言,
pascal语言,
说到二进制补码,大家都知道:有符号数的负数的补码是 其正数的反码+1,例如 10001111 的补码是反码01110000 加 1 =01110001 ,很多书都这么说,可是为什么这样计算的结果就是它的补码?为什么要用补码?很多书要么不解释,要么就是说:这是因为在计算机内补码计算最快.(其实是补码计算指令的CPU设计更容易实现) 最初我看的书,《大学计算机基础教程》(我非计算机专业),这破书说不清,道不明,给与我非常严重负面的影响,以至于我在以后的计算机学习过程中,程序设计中遇到大大小小不少麻烦和迷茫.
在某些计算机组成原理书上提到:其实补码的计算原理,是用一个模来减去无符号的正数部分.譬如时钟,12点之后是13点,但是时钟上没有13点怎么办?就用13减去12=1点.这个模是12.可惜这个比喻并不是很好.
请看 一个字节长的无符号数的表示范围 :255,有符号数的表示范围:-128~127 ,注意,这个表示范围的写法极有可能影响我们的思维,从而导致错误.我们应该这样来写:127 -128 -1 ,这才是较好的写法.为什么?因为这个写法的数的顺序与0~255 一一对应.
由上,我们了解,其实补码不过是用128 255 这段范围的数来表示 128 -1这段范围的负数.那么我们就可以凭自己,而不是看教材,就可以推测出计算补码的公式,就是:256-欲求的负数的绝对值= 此负数的补码.
没错,就是这么简单的东西,可是却困扰了很多人.可见有个好的教材是多么的重要.
至于前面 “负数的补码是 其正数的反码+1” ,极为垃圾的教材才会把这个计算方法作为初始方法来教.因为这个计算方法屏蔽了补码的计算原理.其实这不过是 “256 - 欲求的负数的绝对值 = 此负数的补码”的一个比较取巧的计算方法而已.请看 256=1 0000 0000 =1111 1111+1,而 1111 1111减任何二进制数的结果就是把这个数取反,那么 256 - 某二进制数A 既是:将 A取反 +1
以上:完毕!
注:所有讨论均在字节长范围内(8bit) 进行
在某些计算机组成原理书上提到:其实补码的计算原理,是用一个模来减去无符号的正数部分.譬如时钟,12点之后是13点,但是时钟上没有13点怎么办?就用13减去12=1点.这个模是12.可惜这个比喻并不是很好.
请看 一个字节长的无符号数的表示范围 :255,有符号数的表示范围:-128~127 ,注意,这个表示范围的写法极有可能影响我们的思维,从而导致错误.我们应该这样来写:127 -128 -1 ,这才是较好的写法.为什么?因为这个写法的数的顺序与0~255 一一对应.
由上,我们了解,其实补码不过是用128 255 这段范围的数来表示 128 -1这段范围的负数.那么我们就可以凭自己,而不是看教材,就可以推测出计算补码的公式,就是:256-欲求的负数的绝对值= 此负数的补码.
没错,就是这么简单的东西,可是却困扰了很多人.可见有个好的教材是多么的重要.
至于前面 “负数的补码是 其正数的反码+1” ,极为垃圾的教材才会把这个计算方法作为初始方法来教.因为这个计算方法屏蔽了补码的计算原理.其实这不过是 “256 - 欲求的负数的绝对值 = 此负数的补码”的一个比较取巧的计算方法而已.请看 256=1 0000 0000 =1111 1111+1,而 1111 1111减任何二进制数的结果就是把这个数取反,那么 256 - 某二进制数A 既是:将 A取反 +1
以上:完毕!
注:所有讨论均在字节长范围内(8bit) 进行
[x]补码:10011000,其原码为
定点数 补码 原码1、定点小数补码表示时:当符号位为1,其余n位为0时,x为绝对值最大的负数,也称最小负数,其值为-1;
设x= -0.11001,试求其原码、反码、补码
负数取补码产生溢出怎么处理?比如原码为10000000 取补码后是什么?
什么是原码 补码 反码?
原码 反码 补码 计算
原码 反码 补码 移码
计算原码,反码,补码.
当某数为40D时,写出其数值部分的原码、反码及补码形式(用二进制数表示)
对于正数,其原码、反码、补码是相同的吗
计算机原码反码补码某数若用8位补码表示为10110110,则用16位补码表示位1111111110110110,若8位补
已知[X]原码=10010100;求[X]反码和[X]补码.