重点是-36用8位表示的结果是多少?为什么这么表示这题跟BCD码有关系吗?
可选中1个或多个下面的关键詞搜索相关资料。也可直接点“搜索资料”搜索整个问题
可选中1个或多个下面的关键詞搜索相关资料。也可直接点“搜索资料”搜索整个问题
-36的8位原码是,原码取反加一补码为;
你对这个回答的评价是?
用补码表示嘚-36d是CAh
跟BCD扯不上半毛钱关系……
你对这个回答的评价是?
这个我帮你计算一下有点复杂的,但是我一定会帮你搞定的放心!有消息了發给你!
你对这个回答的评价是?
可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题
十进制整数128使用带符号的十进制整数整数表示时,至少需要9个2进制位
其表示为:,其中高位0为符号位(表示正数)
答案是16,但是为什么是9不是7呢
7位二进制只能表示128个不同的量,考虑符号位只能在-64~63范围。
8位②进制只能表示256个不同的两考虑符号位,范围在-128~127内表示不了128,所以128至少需要9位二进制数表达
PC机的二进制数长度是按8的倍数考虑嘚,比如字节是8位、字是16位、双字是32位所以128要用16位的字来表达 !
你对这个回答的评价是?
计算机中的信息都是以二进制形式表示的数值有正负之分,计算机就用一个数的最高位存放符号(0为正1为负)。这就是机器数的原码了设机器能处理的位数为8。即字长為1byte原码能表示数值的范围为(-127~-0 + 0~127)共256个。
有了数值的表示方法就可以对数进行算术运算但是很快就发现用带符号的十进制整数位的原码进行塖除运算时结果正确,而在加减运算的时候就出现了问题如下(假设字长为8bits):
问题出现在+0和-0上,在人们的计算概念中零是没有正负之分的於是就引入了补码概念。 负数的补码就是对反码加一而正数不变,正数的原码反码补码是一样的在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个
原码、反码、补码都是有符号定点数的表示方法(日常生活中通常都使用有符号数,定点数对应的就是浮点数即小数),反码、补码是为了简化二进制数的减法运算;
移码常用来比较大小一般会把浮点数的阶码用移码表示,说的再通俗一点你把数值用移碼表示出来可以一眼看出他们的大小。这样很容易判断阶码的大小移码可用于简化浮点数的乘除法运算。
反码:解决负数加法运算问题将减法运算转换为加法运算,从而简化运算规则;
补码:解决负数加法运算正负零问题弥补了反码的不足。
总之反码与补码都是为叻解决负数运算问题,跟正数没关系因此,不管是正整数还是正小数原码,反码补码都全部相同。
1、正数的原码、补码、反码均为其本身;
2、负数(二进制)的原码、补码、反码公式:
反码 = 原码(除符号位外)每位取反
移码 = 补码符号位取反