计算机中的二进制数据
这是一篇关于带符号二进制数据在计算机中表示方法及加减运算的文章,是《计算机原理》这门课程有关内容的总结性笔记。
又称带符号的绝对值表示。
那什么是模呢? 内容转自
模 是指一个计量系统的计数范围。如时钟等,计算机也是一个计算器,它也是有一个计量范围,即都存在一个“模”。
模是计量器产生“溢出”的量 ,它的值在计量器上表示不出来,计量器上只能表示出模的余数,如12的余数有0,1,2,3,4,5,6,7,8,9,10,11。
知道了模,我们再来看看补数
假设当前时针指向11点,而准确时间是8点,调整时间可有以下两种拨法:
在以模为12的系统中,加9和减3效果是一样的,因此凡是减3运算,都可以用加9来代替。对“模”12而言,9和3互为补数(二者相加等于模)。所以我们可以得出一个结论,即在 有模的计量系统中,减一个数等于加上它的补数 ,从而实现将减法运算转化为加法运算的目的。
计算机上的补码就是算术里的补数。
设我们有一个 4 位的计算机,则其计量范围即模是 2^4 = 16 ,所以其能够表示的范围是 0~15 ,现在以计算 5 - 3 为例,我们知道在计算机中,加法器实现最简单,所以很多运算最终都要转为加法运算,因此 5-3 就要转化为加法:
这里需要解释一下,为什么纯小数的模值为2。从上面的解释我们知道,模就是计量器产生“溢出”的量,那么对于一个纯小数(一位符号位)其表示范围为 0.0000……00~1.1111……11 ,溢出值是 10.0000......00 ,它的模是2。
反码只用于由原码求补码或由补码求原码的中间过渡
这主要是因为相较原码,补码有以下特点:
两个补码的和/查等于和/差补码
即: [X]补±[Y]补 = [X±Y]补 mod 2或2^n
溢出:运算结果超出机器数所能表示的范围
双符号位参与运算,结果双符号位相异则溢出
00:正数,11:负数,01:正溢出,10:负溢出
第一位符号位为运算结果的真正符号位
2023-08-15 广告