计算机编码方式:原码、反码、补码
创作时间:
作者:
@小白创作中心
计算机编码方式:原码、反码、补码
引用
1
来源
1.
https://www.cnblogs.com/johnnyzen/p/18132824
原码、反码和补码是计算机中用来表示带符号整数的三种编码方式,它们在计算机内部的运算和表示过程中发挥重要作用。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
1 计算机编码方式:原码 / 反码 / 补码
1.1 概念辨析
- 原码:正数是其二进制本身;负数是符号位为1,数值部分取X绝对值的二进制。
- 例如,
+5
的原码是
0000 0101
,
-5
的原码是
1000 0101
。 - 反码:正数的反码和原码相同;负数是符号位为1,其它位是原码取反。
- 补码:正数的补码和原码,反码相同;负数是符号位为1,其它位是原码取反,未位加1。(或者说负数的补码是其绝对值反码未位加1)
- 移码:将符号位取反的补码(不区分正负)
举例说明:
编码 $$108_{10}$$(sbyte) $$-108_{10}$$(sbyte)
原码 01101100 11101100
反码 01101100 10010011
补码 01101100 10010100
移码 11101100 00010100
1.1.1 原码
- 原码(
Sign-Magnitude Representation
): 原码是最直接的表示方法,其中最高位表示符号位(
0
表示正数,
1
表示负数),其余位表示数值的绝对值。 - 例如,
+5
的原码是
0000 0101
,
-5
的原码是
1000 0101
。 - 原码的优点是表示直观,但在进行加法和减法运算时存在问题。
1.1.2 反码
- 反码(
One's Complement
): 为了解决原码的加法和减法问题,人们引入了
反码
表示。在
反码
中,正数的反码与其原码相同,负数的反码是将其原码的每位取反**(0变1,1变0)。 - 例如,
+5
的反码是
0000 0101
,
-5
的反码是
1111 1010
。 - 尽管反码解决了加法问题,但仍然存在溢出和零的表示问题。
1.1.3 补码
- 补码(
Two's Complement
): 为了彻底解决加法和表示问题,人们引入了补码表示。 - 在补码中,正数的补码与其原码相同,负数的补码是将其原码的每位取反后再加1。
- 例如,
+5
的补码是
0000 0101
,
-5
的补码是
1111 1011
。 - 补码表示不仅解决了加法和表示问题,还能够自然地处理溢出。
- 补码表示的优势在于:它允许用相同的方式处理正数和负数,以及能够在数字的范围内进行循环运算,而无需额外的处理。
因此,在大多数计算机体系结构中,补码表示被广泛采用用于带符号整数的表示和运算。
1.1.X 小结
- 总结起来,原码、反码和补码是用于表示带符号整数的三种编码方式。
- 原码表示直观,反码解决了加法问题,而补码不仅解决了加法问题,还能够自然处理负数的表示和溢出问题。
- 在计算机中,补码表示是最常见和有效的带符号整数表示方式。
1.X 案例
1.X.1 案例1:真值、原码和补码的关系
- 以补码定义式为基础,沿数轴列出典型的真值、原码与补码表示,可清楚了解补码的有关性质
真值、原码和补码的关系 - (1) 在补码表示中,最高位X0(符号位)表示数的正负,在形式上与原码相同,即 0正 1负。但补码的符号位是数值的一部分,由补码定义式计算而得。
例如,负小数补码X0中为 1,这个 1是真值X(负)加模 2后产生 - (2) 在补码表示中,数 0只有一种表示,[+0]补 =[-0]补 =0.000……0
- (3)负数补码表示的范围比原码稍宽,多一种数码组合。对于定点数,若为纯小数,表示范围为:
,若为纯整数,表示范围为:
。
1.X.2 案例2:0的补码
- 数0的补码表示是唯一的。
- [+ 0]补 = [+0]反 = [+0]原 = 00000000
- [- 0]补 = 11111111+1 = 00000000
1.X.3 案例3:补码
==(推断)==>
原码
- 例:已知一个补码为
1111 1001
,则:
原码
是
1000 0111
(-7)。
解:因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”;其余七位
111 1001
取反后为
000 0110
;再加1,补上负数的
1
,所以是
1000 0111
。
X 参考文献
- 什么是原码、反码和补码 - 百度/小波程序员
- 补码 - 百度百科
- 原码、反码、补码和移码详解 - 博客园【推荐】
热门推荐
医圣张仲景:历史上的真实存在与正史记载探析
“儿子随妈,女儿随爸”是真的吗?关于基因的奥秘,我们了解一下
谐波测试的两种主要方式:直接测量法与计算分析法
拍胸片会影响儿童大脑发育吗?专业医生这样回答
吃蚕豆对身体的好处
对镉污染的预防与处理
镉污染大米的危害与防范:从日本痛痛病到中国现状
种植牙后需要多长时间佩戴保持器?医生解析种植牙保持器的使用期限与注意事项
研究实现微纳卫星与可移动地面站间的星地实时量子密钥分发
谁将接替巴赫成为国际奥委会新主席?小萨马兰奇和克罗地亚前总统是热门人选
什么运动可以降血压?这3种运动类型总有一种适合你
Excel数据透视表汇总怎么做
微观世界的能量量子化:自然界的基本特性
孩子髌骨脱位的治疗不仅要考虑长个问题,还得考虑这个……
备孕男士血压药的选择与使用注意事项及风险评估
如何进行团队筛选
无花果干的功效与作用有哪些
韭菜对胃有伤害吗?
对韭菜过敏的症状多久可以恢复?
连续上涨个股如何选择?
查询微信聊天记录是否侵犯他人隐私权
如何使用Windows 10创建可启动USB?
让我们来了解盲文吧
电动车充电器绿灯亮表示什么
损伤不可逆,同济医生:警惕这个常见习惯
朱熹:存天理,灭人欲
大学生如何创新论文:从选题到写作的全方位指南
如何制定高效的检查计划方案?
发酵白酒需要多少度的水
白酒的种类有哪些?白酒的七种香型分类