当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 原码、反码、补码之间怎么快速转换,大神带你轻松学

原码、反码、补码之间怎么快速转换,大神带你轻松学 时间:2018-04-20      来源:未知

学习过计算机的哥们应该都知道,我们的计算机并不是以十进制、十六进制的方式进行数据的存储的,哪它是以什么方式进行数据保存的呢?其实的数据存储是以二进制的方式进行保存的。二进制里面只有“0”和“1”,没有别的符号和其他的数值,二进制存在原码、反码、补码的的转换,那么这又是什么东西呢?好,现在就让我们来了解他们吧!

在前面,我们学习了十进制、八进制、十六进制等用来代表实际数值的数,称为真值,这些数我们再日常生活中都会使用到,那么在计算机中数值是怎么来表示的呢?

数在计算机中的表示形式统称为机器数。计算机中处理数据及运算都是采用二进制,通常规定机器数用八位二进制表示。实用的数据有正数和负数,因为计算机只能表示0、1两种状态,数据的正号“+”或负号“-”,在计算机里就用一位二进制的0或1来区别,通常放在最高位,成为符号位。 符号位数值化之后,为能方便的对机器数进行算术运算、提高运算速度,计算机设计了多种符号位与数值一起编码的方法,最常用的机器数表示方法有:原码、反码、补码和移码,下面就分别介绍一下它们的表示方法。

一、原码、反码、补码

三种表示法的转换过程如下:

原码反码补码

说明:

特别的,在原码中0有两种表示方式:[+0]原=0000000,[-0]原=1000000。

在反码表示中,0也有两种表示形式:[+0]反=0000000,[-0]反=11111111。

在补码表示中,0有唯一的编码:[+0]补=0000000,[-0]补=0000000。

计算机之所以这些编码方法是为了便于运算,提高运算速度。三种表示方法其实是层层递进的,即会求十进制的二进制表示,记住符号位的正负表示,知道怎么递进的它们之间的关系。

总结:

正数的原码,补码,反码相同;

负数的反码:符号位不变,原码的数值取反;

负数的补码:符号位不变,原码转换成反码,反码末位加1;

上一篇:信号量是什么,大神全方位交给你

下一篇:i2c协议的特点是什么,老司机带你深入了解

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部