【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《计算机二进制原理》,欢迎阅读!
计算机中有关二进制问题?
(2013-11-15 20:48:10)[编辑][删除] 转载▼ 标签:
it
一直以来,有朋友问我1byte表示的范围问啥事-128-127? 1、计算机中数据的存储采用的是补码的形式 2、正数的源码反码补码都是它自己本身
3、负数的反码是除去符号位之后所有的位取反
3、负数的补码是负数的反码+1; 至于为什么要是这样? 可以参考计算机组成原理:
类似于时钟以12个钟头为一个计量单位,顺时针拨1格等于逆时针波动11 同样 |-128|+127 = 256
这里在计算机中的计量单位就是256对于字长为8位的计算机
对于正数的最大数是0111 1111 最大数是127 表示的范围是从1-127 注意这里不包括0
例如:
对于1byte 最大的是:0111 1111 表示的范围是2^7 = 128 但是由于还有一个0,因此128个数中包含了0,因此可以表示的最大数是127 最小的负数:因为计算机中采用补码的形式 1111 1111(补码) ----
取反:1000 0000 + 1 = 127 + 1 = 1 最大的负数: 1000 0000
取反+1:1111 1111 + 1 = 128因此可以表示的最小负数时-128
因为计算机中加减法采用的是补码表示的方法,所以0只有一种表示方法,(如果采用反码表示加减的话,则会产生两个0,从而会产生循环进位的问题,因此计算界的牛人们就想出了使用补码表示数值,这样加减法就非常方便了)
计算机的运算部件与寄存器都有一定字长的限制(假设为8),因此它的运算也是一种模运算,当计数器满8位二进制数后就会产生溢出, 又从头开始,产生溢出的量就是就算器的模,显然,8位二进制的模数位256
本文来源:https://www.wddqxz.cn/730751aebad528ea81c758f5f61fb7360b4c2b26.html