原码、反码、补码

简介: 原码、反码、补码区别

为了解决有符号机器数运算效率问题,计算机科学家们提出多种机器数的表示法:

1、原码: 原码是最简单的机器数,例如前文提到从 +1110 和 -1110 转换得到的 0000, 1110 和 1000, 1110 就是原码表示法,所以原码在进行数字运算时会存在前文提到的效率问题;

2、反码: 反码一般认为是原码和补码转换的中间过渡;

3、补码: 补码才是解决机器数的运算效率的关键, 在计算机中所有 “整型类型” 的负数都会使用补码表示法;

正数的补码是原码本身;
零的补码是零;
负数的补码是在反码的基础上再加 1。
很多教材和网上的资料会认为正数的原码、反码和补码是相同的,这么说倒也不影响什么。 但结合补码的设计原理,小彭的观点是正数是没有反码和补码的,负数使用补码是为了找到一个 “等价” 的正补数代替负数参与计算,将加减法运算统一为两个正数加法运算,而正数自然是不需要替换的,所以也就没有补码的形式。

目录
相关文章
|
6月前
原码、反码、补码的互相转换
原码、反码、补码的互相转换
159 0
|
6月前
|
存储
原码,补码的除法
原码,补码的除法
79 1
|
5月前
|
程序员
程序员必知:原码、反码、补码和移码详解
程序员必知:原码、反码、补码和移码详解
93 0
|
6月前
原码反码补码移码的介绍和计算
原码反码补码移码的介绍和计算
141 1
|
6月前
|
存储
原码,反码,补码以及计算
原码,反码,补码以及计算
81 0
原码补码反码
原码补码反码
134 0
|
Java
进制转换、原码、反码、补码及位运算详解
进制转换、原码、反码、补码及位运算的简单示例
659 1
进制转换、原码、反码、补码及位运算详解
|
存储
一篇轻松带你Carry原码、反码、补码(建议收藏)
一篇轻松带你Carry原码、反码、补码(建议收藏)
217 0
|
Go 开发者
原码 反码 补码|学习笔记
快速学习原码 反码 补码。
113 0
|
存储 前端开发 索引