【计算机系统 - 基础知识】带符号数的表示、原码、反码、补码、移码(增码)

本文详细介绍了计算机中带符号数的表示方式,包括原码、反码、补码和移码的概念及其转换规则。原码直接用最高位表示符号,反码是正数不变,负数除符号位外各位取反,补码是负数在原码基础上逐位取反加1,而移码常用于浮点数的阶码,是对补码的符号位取反以确保机器零为全0。
摘要由CSDN通过智能技术生成

水善利万物而不争,处众人之所恶,故几于道💦

目录

1.带符号数的表示
2.原码
3.反码
4.补码
5.移码(增码)

1.带符号数的表示

通常的做法是约定一个数的 最高位为符号位,若该位为0,则表示正数,若该位为1,则表示负数。 按一个字节8位为例:00000000 无符号位表示的数是:0 - 2 8-1(从0开始所以-1) 有符号位表示的数是:-2 7到2 7-1

2.原码

用最高位表示符号位,数值部分用二进制绝对值表示,这就是原码的表示方法 +17转换为二进制是:10001,用一个字节表示为:00010001 ->因为是正数,所以最高位为0 所以: +17的原码为:00010001 -17的原码为:10010001

3.反码

原码变反码规则:正数的反码和其原码形式相同,负数的反码是除符号位,其他各位逐位取反(即0变1,1变为0)

原码:+17:00010001  |  -17:10010001

反码:+17:00010001  |  -17:11101110

4.补码

补码规则为:正数的补码和其原码形式相同,负数的补码是原码除符号位以外逐位取反(即0变1,1变0),最后在末尾加上1

原码:+17:00010001  |  -17:10010001

补码:+17:00010001  |  -17:11101111

[[x]]=[x]:-17的原码是10010001 补码:11101111,再补一次:10010001 和原码相同。

5.移码(增码)

无论正数、负数,在补码的基础上对符号位取反,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0.

补码:+17:00010001  |  -17:11101111

移码:+17:10010001  |  -17:01101111

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿年、嗯啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值