二进制、十进制表示与转换总结

二进制、十进制表示与转换总结在生活中使用最多的进制是基于为 10 的进制表示法 一个任意的十进制可以表示为其中 j 1 2 m 是 0 1 2 3 4 5 6 7 8 9 十个数码中的一个

大家好,欢迎来到IT知识分享网。

数的进制基本概念

在生活中使用最多的进制是基于基数为10的进制表示法,一个任意的十进制可以表示为

a_{n}a_{n-1} … a_{0}  .  b_{1} b_{2} … b_{m}

 a_{n} \times 10^{n} + a_{n-1} \times 10^{n-1} + \begin{matrix} & & \\ & & \end{matrix}... + a_{i} \times 10^{i} + \cdots + a_{0} \times 10^{0} + b_{1} \times 10^{-1} + b_{2} \times 10^{-2} + \cdots + b_{i} \times 10^{-i} + \cdots + b_{m} \times 10^{-m}

其中 ^{a_{i}} (i = 0,1,…,n),   ^{b_{j}} (j = 1,2,…,m) 是 0,1,2,3,4,5,6,7,8,9 十个数码中的一个。

        十进制数的基数是 10, 即其数码的个数为 10 ,且遵循逢十进一的规则。上式中相应于每位的数字的 ^{10^{k}} 称为数字的权,所以每位数字乘以其权所得到的乘积之和即为所表示数的值。

生活中十进制表示正、负数的方式

因为在现实生活中十进制数存储并没有空间限制,可以无限制延长表示,正负数有专门的 +、- 符号表示。

十进制是人们最熟悉、最常用的一种数制,但它不是唯一的数制,生活中我们还用到时、分、秒就是按照 60 进制计数的。基数为 r 的 r 进制数的值可表示为:

a_{n} \times r^{n} + a_{n-1} \times r^{n-1} + \begin{matrix} & & \\ & & \end{matrix}... + a_{i} \times r^{i} + \cdots + a_{0} \times r^{0} + b_{1} \times r^{-1} + b_{2} \times r^{-2} + \cdots + b_{i} \times r^{-i} + \cdots + b_{m} \times r^{-m}

其中 ^{a_{i}}^{b_{j}} 可以是0,1,…,r-1中任一个数码,r^{k} 则为各位相应的权。

        计算机中为了便于存储和计算的实现,采用了二进制数。计算机中二进制数a_{n}a_{n-1} … a_{0}  .  b_{1} b_{2} … b_{m}表示

a_{n} \times 2^{n} + a_{n-1} \times 2^{n-1} + \begin{matrix} & & \\ & & \end{matrix}... + a_{i} \times 2^{i} + \cdots + a_{0} \times 2^{0} + b_{1} \times 2^{-1} + b_{2} \times 2^{-2} + \cdots + b_{i} \times 2^{-i} + \cdots + b_{m} \times 2^{-m}

其中 ^{a_{i}}^{b_{j}} 为0,1两个数码中的一个。例如:

101101_{2} = 1 X 2^{5} + 1 X 2^{3} + 1 X 2^{2} + 1 X 2^{0} = 45_{10}

其中数的下标表示该数的基数 r ,即二进制的 与 十进制的 45 等值。

       在介绍补码概念之前,先介绍一下“模”的概念:“模”是指一个计量系统的计数范围,如过去计量粮食用的斗、时钟等。计算机也可以看成一个计量机器,因为计算机的字长是定长的,即存储和处理的位数是有限的,因此它也有一个计量范围,即都存在一个“模”。如:时钟的计量范围是0~11,模=12。表示n位的计算机计量范围是 0 ~ 2^{n}-1=2^{n}.“模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算

假设当前时针指向8点,而准确时间是6点,调整时间可有以下两种拨法:一种是倒拨2小时,即8-2=6;另一种是顺拨10小时,8+10=12+6=6,即8-2=8+10=8+12-2(mod 12).在12为模的系统里,加10和减2效果是一样的,因此凡是减2运算,都可以用加10来代替。若用一般公式可表示为:a-b=a-b+mod=a+mod-b。对“模”而言,-2和+10互为补数。实际上,以12为模的系统中,11和-1,8和-4,9和-3,7和-5,6和-6都有这个特性,共同的特点是互为补数两者绝对值相加等于模。对于计算机,其概念和方法完全一样。n位计算机,设n=8,所能表示的最大数是,若再加1成(9位),但因只有8位,最高位1自然丢失(相当于丢失一个模)。又回到了 00000000,所以8位二进制系统的模为 2^{8} 。在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码

二进制、十进制表示与转换总结

计算机中因存储空间的限制,正、负数统一采用补码表示;

二进制中正数 的补码是其本身,负数 X 的补码为 2^{n} – |X| 其中 n 为机器的字长。当 n = 8 时,

[ + 1 ](补码)             = 00000001

[ – 1 ](补码) = 2^{8} – 1 =

下面介绍一种比较简单的办法来写一个负数的补码表示:先写出与该负数相对应的正数的补码表示(用符号-绝对值法),然后将其按位取反(即0变1,1变0),最后在末位(最低位)加1,就可以得到该负数的补码表示了。

在机器字长为8的计数空间中所能表示补码数据范围 ~ 01111 111对应十进制表示范围 -128 ~ +127, 最高位为1表示负数,最高位为0表示正数;当最高位为1表示负数,根据负数的补码表示法逆向求解即可求出负数补码表示的负数实际大小。

10000000_{2}  = 2^{7} - 2^{8} = -2^{7} = -128

_{}01111111_{2} = 2^{7} - 1 = 128 -1 = 127

进制转换

十进制转二进制

降幂法除法两种转换方法,本节仅重点讲解除法

1、把要转换的十进制整数部分不断除以2,并记录下余数,直到商为0,将记录的余数倒序排列即可得到整数部分的二进制序列;

2、把十进制小数部分不断乘以2,并记下其整数部分,直到结果的小数部分为0为止。

将以上两部分二进制序列中间用小数点依次拼接即可得到完整的二进制数

八进制、十六进制、二进制、十进制之间转换不再赘述。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/138441.html

(0)
上一篇 2024-11-23 22:45
下一篇 2024-11-24 07:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信