计算机字长为16位的,有符号数最小为-32678?书上说是1000 0000 0000 0000…求原码,补码的算法,谢
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:数学作业 时间:2024/08/19 06:40:20
计算机字长为16位的,有符号数最小为-32678?书上说是1000 0000 0000 0000…求原码,补码的算法,谢谢了!
![计算机字长为16位的,有符号数最小为-32678?书上说是1000 0000 0000 0000…求原码,补码的算法,谢](/uploads/image/z/1621320-24-0.jpg?t=%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AD%97%E9%95%BF%E4%B8%BA16%E4%BD%8D%E7%9A%84%2C%E6%9C%89%E7%AC%A6%E5%8F%B7%E6%95%B0%E6%9C%80%E5%B0%8F%E4%B8%BA-32678%3F%E4%B9%A6%E4%B8%8A%E8%AF%B4%E6%98%AF1000+0000+0000+0000%E2%80%A6%E6%B1%82%E5%8E%9F%E7%A0%81%2C%E8%A1%A5%E7%A0%81%E7%9A%84%E7%AE%97%E6%B3%95%2C%E8%B0%A2)
看到你的问题我去查了下资料,
如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767
最小为1111111111111111=-2的15次方减1=-32767
此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=0
所以,二进制原码表示时,范围是-32767~-0和0~32767,因为有两个零的存在,所以不同的数值个数一共只有2的16次方减1个,比16位二进制能够提供的2的16次方个编码少1个.
但是计算机中采用二进制补码存储数据,即正数编码不变,从0000000000000000到0111111111111111依旧表示0到32767,而负数需要把除符号位以后的部分取反加1,即-32767的补码为1000000000000001.
到此,再来看原码的正0和负0:0000000000000000和1000000000000000,补码表示中,前者的补码还是0000000000000000,后者经过非符号位取反加1后,同样变成了0000000000000000,也就是正0和负0在补码系统中的编码是一样的.但是,我们知道,16位二进制数可以表示2的16次方个编码,而在补码中零的编码只有一个,也就是补码中会比原码多一个编码出来,这个编码就是1000000000000000,因为任何一个原码都不可能在转成补码时变成1000000000000000.所以,人为规定1000000000000000这个补码编码为-32768.
所以,补码系统中,范围是-23768~32767.
因此,实际上,二进制的最小数确实是1111111111111111,只是二进制补码的最小值才是1000000000000000,而补码的1111111111111111是二进制值的-1.
.
重点是
1.负数在计算机中是补码表示的!
2.正0和负0在计算机里面表示重叠了
3.人为规定负数里面1000 0000 0000 0000是负数里面最小的,-32768就是它.
如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767
最小为1111111111111111=-2的15次方减1=-32767
此时0有两种表示方法,即正0和负0:0000000000000000=1000000000000000=0
所以,二进制原码表示时,范围是-32767~-0和0~32767,因为有两个零的存在,所以不同的数值个数一共只有2的16次方减1个,比16位二进制能够提供的2的16次方个编码少1个.
但是计算机中采用二进制补码存储数据,即正数编码不变,从0000000000000000到0111111111111111依旧表示0到32767,而负数需要把除符号位以后的部分取反加1,即-32767的补码为1000000000000001.
到此,再来看原码的正0和负0:0000000000000000和1000000000000000,补码表示中,前者的补码还是0000000000000000,后者经过非符号位取反加1后,同样变成了0000000000000000,也就是正0和负0在补码系统中的编码是一样的.但是,我们知道,16位二进制数可以表示2的16次方个编码,而在补码中零的编码只有一个,也就是补码中会比原码多一个编码出来,这个编码就是1000000000000000,因为任何一个原码都不可能在转成补码时变成1000000000000000.所以,人为规定1000000000000000这个补码编码为-32768.
所以,补码系统中,范围是-23768~32767.
因此,实际上,二进制的最小数确实是1111111111111111,只是二进制补码的最小值才是1000000000000000,而补码的1111111111111111是二进制值的-1.
.
重点是
1.负数在计算机中是补码表示的!
2.正0和负0在计算机里面表示重叠了
3.人为规定负数里面1000 0000 0000 0000是负数里面最小的,-32768就是它.
计算机字长为16位的,有符号数最小为-32678?书上说是1000 0000 0000 0000…求原码,补码的算法,谢
已知某计算机的字长为8位 则十进制数-13的补码为
定点字长为16位补码运算的计算机,用十六进制写出它最大正数的补码和最小负数补码.求详解.
机器数补码相加4位计算机,有两个机器数1000和1001,所采用的表示格式为补码,两个数相加为1001,10001,00
已知计算机的字长为8位,求十进制数—102的原码、反码和补码.
已知计算机的字长为8位,求十进制数的原码、反码和补码
已知计算机的字长为8位,求十进制数-102的原码,反码和补码
计算机原理简单题!字长为8位的二进制数的补码为什么是-128~+127
已知计算机字长为8位,求十进制数—102的原码、反码和补码.
已知计算机字长为8位,求十进制数负102的原码、反码喝补码.
已知计算机字长为8位,求十进制数负39的原码、反码和补码
在一个字长为8位的计算机中,采用补码表示,十进制数78、3、-5、-128、127的补码分别是 挺急的