什么是原码?

本文介绍了二进制原码的概念,包括其表示方法、数值范围以及符号位的作用。原码直观易懂但不支持直接运算,尤其在正负数相加时可能出现错误。无符号数则避免了这个问题。

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

定义:

原码是一种二进制定点表示方法,第一位表示符号,用“0”表示“+”,用“1”表示“-”,其余位表示数值。

举例:(4位二进制数)

真值原码真值原码
00000-01000
10001-11001
20010-21010
30011-31011
40100-41100
50101-51101
60110-61110
70111-71111

数值范围:

一个字长为n的机器数能表示不同的数字的个数为2n个,例如:n=8时,2n=256。如果用来表示有符号数,数的范围就是-2n-1-1~2n-1-1,n=8时,这个范围就是-127~127。

但是,在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示数值,这时表示数的范围就是0~2n-1,n=8时,这个范围就是0~255。没有符号位的数,称为无符号数。

优点:

原码表示直观易懂,与真值间转换容易,是人脑最容易理解和计算的表示方式。

缺点:

原码不能直接参加运算。

例: 0001+0001=0010,1+1=2

     0000+1000=1000,0+(-0)=-0

     0001+1001=1010,1+(-1)=-2

由此我们知道,正数之间的加法一般不会出错,而正数和负数相加会出现错误结果,这是由于符号位的存在而引起的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GJZGRB

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

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

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

打赏作者

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

抵扣说明:

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

余额充值