原码转换成补码(数的原码怎么转化成补码,反码)
本文目录
数的原码怎么转化成补码,反码
分类: 电脑/网络
解析:
1011
原码:01011
反码:01011 正数时,反码=原码
补码:01011 正数时,补码=原码
移码:11011 原数+10000
-1011
原码:11011
反码:10100 负数时,反码为原码取反
补码:10101 负数时,补码为原码取反+1
移码:00101 原数+10000
0.1101
原码:0.1101
反码:0.1101 正数时,反码=原码
补码:0.1101 正数时,补码=原码
移码:1.1101 原数+1
-0.1101
原码:1.1101
反码:1.0010 负数时,反码为原码取反
补码:1.0011 负数时,补码为原码取反+1
移码:0.0010 原数+1
原码、反码和补码的转换及表示范围
数字在机器中存储都是用二进制来存储的,有符号数则有:原码、反码和补码三种表示方式。这三种表示方式里,最高位均代表符号位,1-负数,0-正数。
1.原码
一个数的原码就是该数直接转换成二进制得到的数字,第一位是符号位。
2.反码
正数的反码是自己本身;负数的反码是原码除符号位不动,其他所有位按位取反。
3.补码
正数的补码是自己本身;负数的补码是反码加一得到的(运算时包括符号位)。
故,正数的原反补码都是相等的,负数的原反补码是相互转换得到的。
举例:
计算机存储并计算8-5,因为CPU只有加法器,故要将8-5转换成8+(-5)来计算。
(+8)
8的原码:0000 1000
8的反码:0000 1000
8的补码:0000 1000
(-5)
-5的原码:1000 0101
-5的反码:1111 1010
-5的补码:1111 1011
8 - 5 = 8 + (-5)= 0000 1000 + 1111 1011 = 0000 0011
0000 0011的符号位是0,则表示正数,原反补码都相同,转化为十进制就是3。
所以,数据在计算机中以补码的形式表示和储存,补码的出现也更加便于计算。
二、原码、反码和补码的表示范围
一般计算机字长32位,即用32位二进制表示数:
原码:- ~ 2^(n-1) - 1
反码:- ~ 2^(n-1) - 1
补码: -2^(n-1) ~ 2^(n-1) - 1
10000100是原码,它的补码是多少 解释下原码,反码,补码的转换过程
首先应该知道正数的补码,反码是它本身 上面的那个10000100明显是个负数, 最前面的那个1是个符号位 所以他的反码是 1 1111011 补码是 反码末位加1 所以补码是 1 1111100
更多文章:
linux查看端口的命令(Linux查看端口是否被占用的命令是什么)
2026年4月15日 01:20
parameter name(loadrunner怎么参数化设置)
2026年4月15日 00:40
多线程处理器什么意思(cpu低频率、低功耗,多核心,多线程是什么意思)
2026年4月15日 00:20
fscanf读取txt文件字符串(c++怎么读取txt文件中的两段字符串并且存入两个数组)
2026年4月15日 00:00
若变量已正确说明为float类型(X为float型变量,则以下语句)
2026年4月14日 23:40
学pytorch前需要懂python吗(想学深度学习开发,需要提前掌握哪些python知识)
2026年4月14日 23:20
reactive翻译(reactive oxygen species是什么意思)
2026年4月14日 23:00
springboot starter(你知道的SpringBoot中常用的starter都有哪些)
2026年4月14日 22:20





