计算机科学计数

文章讲述了数的表示方法,包括二进制、八进制、十进制和十六进制之间的转换,以及计算机中数值的原码、反码和补码的概念。进制转换通过特定规则进行,而原码、反码和补码在计算机系统中用于表示和存储数值,尤其是补码解决了0的两种编码问题,并确保加减法的统一处理。

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

5ba739647539407e8d060059d720ed21.png

 

1、进制的转换

  数据的表示方法有二进制、八进制、十进制、十六进制等。总之,比如是R进制,意思就是逢R进1。可以用的数为R个,分别是0,1,2,……,R-1。

那我如何知道一个数18,是几进制的18呢,为了把不同进制的数分开表示,避免混淆,通常采用下标的方式来表示一个数的进制,如十进制18表示(18)10,八进制(18)8,如果是十六进制数,则通常在数字的后面加大写字母H,如ABH表示十六进制数AB。

如何转十进制数,对于任意一个R进制数,它的每一位数值等于该位的数码乘以该位的权数,权数由一个幂R的k次方表示,即幂的底数是R,指数为k,k是该位和小数点之间数码的个数;当该位位于小数点右边时,k为负值,其绝对值是该位和小数点之间数码个数加一。

如何从十进制转二进制,可以采用短除法,以前背过一句话除二取余,倒叙排列。意思就是把十进制数每次都除以二,然后留下余数,最后把余数倒着排列就是二进制数。

二进制转八进制数,将每三位二进制数转换为八进制数即可,最后不足三位的,则在最高位上补零。转十六进制数则是4位转十六进制数即可。

2、原码、反码、补码和移码

1.原码

一个数在计算机中的二进制表示形式,也称为机器数,第一位表示符号,正数为0,负数为1,其余为表示值,也是真值的绝对值。原码的缺点是原码直接参与运算可能会导致错误的结果。比如十进制1+(-1)=0,但是使用原码,则(00000001)+(1000001)=10000010,这样的结果是-2。原码在零位置上有00000000和11111111两个编码。

2.反码

通常是用来原码求补码或补码求原码的过渡码。正数的原码与反码相同,负数的反码符号位为1,其余各位为该数绝对值的原码按位取反得到的值。在0这个数上有00000000和11111111两个编码。

3.补码

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法可以统一处理。补码可以唯一表示一个数值,解决了0可以用两个编码的问题。

正数的补码与原码相同,负数的补码是该数的反码加一,这个加一就是"补"。用了一个取模的思想,比如钟表上指针在8,我要减去2,可以逆时针转2,也可以顺时针转10,12-2=10个,也到原来的位置。比如一个四位二进制,首位符号位1,取反就是加上模减1,加一的原因出来了,取反码的时候减一了,这时候加一。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值