原码、反码和补码的详细运算过程

本文详细介绍了计算机中表示有符号数的三种二进制方法:原码、反码和补码。通过实例解释了如何转换+7和-7的二进制表示,并提供了练习题来加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。

 

原码:二进制定点表示法,即最高位为符号位,‘0’表示正,‘1’表示负,其余位表示数值的大小。

反码:正数的反码与其原码相同,负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与其原码相同,负数的补码是在其反码的末尾加1。

例如:

分别用原码、反码和补码表示+7和-7

先计算得到7的二进制数为111

原码:

 

符号位

数值位

+7

0

0000111

-7

1

0000111

反码:

 

符号位

数值位

+7

0

0000111

-7

1

1111000

 

补码:

 

补码:

 

符号位

数值位

+7

0

0000111

-7

1

1111001

注:负数的补码在加1后可能导致符号位变化
如: 0  1111111在末尾加1  得到  1   0000000

 

 

练习:

  1. 已知某数的原码为10110100B,试求该数的反码和补码。

 

 

符号位

数值位

原码

1

0110100

反码

1

1001011

补码

1

1001100

 

  1. 已知某数的补码为11101110B,试求其原码。

 

 

符号位

数值位

补码

1

1101110

反码

1

1101101

原码

1

0010010

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值