文档章节

补码,反码,原码

notAcoder
 notAcoder
发布于 2013/10/04 17:06
字数 372
阅读 63
收藏 0

用一两句话就可以描述清楚原码,补码,反码的算法。

正数的反码和补码都是和原码相同。 

原码:

如果机器字长为n,那么一个数的原码就是用一个n位的二进制数,其中最高位为符号位:正数为0,负数为1。剩下的n-1位表示概数的绝对值。

例如: X=+101011 , [X]原= 00101011    X=-101011 , [X]原= 10101011 
位数不够的用0补全。

PS:正数的原、反、补码都一样:0的原码跟反码都有两个,因为这里0被分为+0和-0。

反码:

知道了什么是原码,那反码就更是张飞吃豆芽——小菜一碟了。知道了原码,那么你只需要具备区分0跟1的能力就可以轻松求出反码,为什么呢?因为反码就是在原码的基础上,符号位不变其他位按位取反(就是0变1,1变0)就可以了。

例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100

补码:

补码也非常的简单就是在反码的基础上按照正常的加法运算加1。

例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101

PS:0的补码是唯一的,如果机器字长为8那么[0]补=00000000。

移码:

移码最简单了,不管正负数,只要将其补码的符号位取反即可。

例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101,[X]移=01010101

© 著作权归作者所有

notAcoder
粉丝 5
博文 30
码字总数 12671
作品 0
巴南
架构师
私信 提问
[Java教程 07]原码反码补码

前言 通过上一章节的内容我们已经掌握了不同进制间的转化,但是我们可以发现,我们做的都是一些正数的转化,那在计算机中,负数如何表示与运算呢?这就不得不提一下我们计算机的“码三少“:...

呆萌钟
2018/04/07
0
0
2.11 原码反码补码

有符号数据表示法 在计算机内,有符号数有3种表示法:原码、反码和补码。所有数据的运算都是采用补码进行的。 原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余...

msirene
2015/08/20
125
0
计算机只会加法,原码,反码,补码和移码的相关概念

计算机只会加法,原码,反码,补码和移码的相关概念 计算机只会算加法 4+2 = 4+2 4-2 = 4+(-2) 2*4 = 2+2+2+2 8/2 = 8-2-2-2-2 = 8+(-2)+(-2)+(-2)+(-2) = 0 数据结构中的原码 反码 补码就是因应...

长平狐
2012/09/03
151
0
计算机存储数据的格式

概述 计算机存储的格式是二进制位,8个二进制位表示一个字节,在计算机中二进制位有原码,反码和补码的格式,下面分别介绍 原码:最高位表示符号位,正数0,负数1;其余7位表示数值因此,一字...

rockjh
2018/01/02
0
0
Java位运算符与移位运算符

位运算符 位运算符主要针对两个二进制数的位进行逻辑运算,它包括:与(&)、或(|)、非(~)、异或(^)** 运算规则: 计算机中的数字运算都是以补码的形式进行的,所以在做为运算时,首先将...

深情不及酒伴
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

全面兼容IE6/IE7/IE8/FF的CSS HACK写法

浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie...

前端老手
6分钟前
3
0
常用快递电子面单批量打印api接口对接demo-JAVA示例

目前有三种方式对接电子面单: 1.快递公司:各家快递公司逐一对接接口 2.菜鸟:支持常用15家快递电子面单打印 3.快递鸟:仅对接一次,支持常用30多家主流快递电子面单打印 目前也是支持批量打...

程序的小猿
9分钟前
5
0
Yii 框架中rule规则必须搭配验证函数才能使用

public $store_id;public $user_id;public $page;public $limit;public $list;public $mch_list;public $cart_id;public $is_community;public $shop_id;public $cart_typ......

chenhongjiang
12分钟前
2
0
Flutter使用Rammus实现阿里云推送

前言: 最近新的Flutter项目有“阿里云推送通知”的需求,就是Flutter的App启动后检测到有新的通知,点击通知栏然后跳转到指定的页面。在这里我使用的是第三方插件Rammus来实现通知的推送,之...

EmilyWu
12分钟前
26
0
Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短...

阿里巴巴云原生
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部