基本概念
计算机中的符号数有三种表示方法:
- 原码
- 反码
- 补码
三种表示方法均有
符号位
和数值位
两部分- 符号位:
- 0 表示 “正”
- 1 表示 “负”,
- 数值位: 三种表示方法各不相同。
- 符号位:
在计算机系统中,数值一律用补码来表示和存储。原因:
- 使用补码,可以将符号位和数值域统一处理
- 加法和减法也可以统一处理
- 补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路
补码求法
正数的补码 = 原码 = 反码
1
正数来说,其二进制原码,反码,补码均为相同的,为原码的形式
负数的补码 = 原码符号位不变, 数值位按位取反后+1
辅助概念
- 模:
- “模” 指一个计量系统的计数范围。如时钟的计量范围是0~11,模=12。
- n 位的计算机计量范围是 0~2^(n)-1,模=2^(n)。
- “模” 实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。
- 任何有模的计量器,均可化减法为加法运算。
- 模的举例理解:
1
2
3
4
5例如:假设当前时针指向10点,而准确时间是6点,调整时间可有以下两种拨法:
一种是倒拨4小时,即:10-4=6;
另一种是顺拨8小时:10+8=12+6=6
在以12模的系统中,加8和减4效果是一样的,因此凡是减4运算,都可以用加8来代替。对“模”而言,8和4互为补数。
实际上以12模的系统中,11和1,10和2,9和3,7和5,6和6都有这个特性。共同的特点是两者相加等于模。
补码特性
一个负整数(或原码)与其补数(或补码)相加,和为模。
对一个整数的补码再求补码,等于该整数自身。
补码的正零与负零表示方法相同。数0的补码表示是唯一的:
- [+0]补 = [+0]反=[+0]原=00000000
- [ -0]补 = 00000000
正整数的补码是其二进制表示,与原码相同。
代数加减运算
[X+Y]补 = [X]补 + [Y]补
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 卖报小行家!
评论