本文主要是介绍第一章 计算机硬件基础(数的表示),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数的表示
1. 二进制
基数:2
表示:用0和1表示
权值:二进制的各位权值从右向左算起, 最右位为第一位,权值为2^0=1, 次位为第二位,权值
为2^1=2, 依次类推,第n位,权值为2^(n-1)
转换:
(1)二进制转八进制
方法:三合一法
小数点位置为界,向左向右每三位按权相加得到一位,不足三位加0,凑成四位。
例:将二进制数101110.101转换为八进制
得到结果:将101110.101转换为八进制为56.5
(2)二进制转十六进制
方法:四合一法
小数点位置为界,向左向右每四位按权相加得到一位,不足四位加0,凑成四位。
例:将二进制11101001.1011转换为十六进制
得到结果:将二进制11101001.1011转换为十六进制为E9.B
(3)二进制转十进制(不分整数部分和小数部分)
方法:按权相加法
将二进制每位上的数乘以权,然后相加之和即是十进制数。
例:将二进制数101.101转换为十进制数。
得出结果:(101.101)2=(5.625)10
2. 八进制
基数:8
表示:用0~7表示
权值:八进制的各位权值从右向左算起, 最右位为第一位,权值为8^0=1, 次位为第二位,权值
为8^1=8, 依次类推,第n位,权值为8^(n-1)
转换:
(1)八进制转二进制
方法:取一分三法
将一位八进制数分解成三位二进制数,小数点位置照旧
例:将八进制数67.54转换为二进制
得出结果:将八进制数67.54转换为二进制数为110111.101100,即110111.1011
(2)八进制转十进制
方法:按权相加法
将八进制每位上的数乘以权,然后相加之和即是十进制数。
(3)八进制转十六进制
方法:八进制转成二进制,二进制再转成十六进制。
例:将八进制数67.54转换为十六进制
得出结果:将八进制数67.54转换为二进制数为110111.101100,再转换为十六进制为67.B0
3. 十进制
基数:10
表示:用0~9表示
权值:十进制的各位权值从右向左算起, 最右位为第一位,权值为10^0=1, 次位为第二位,权
值为10^1=10, 依次类推,第n位,权值为10^(n-1)
转换:
(1)十进制转二进制
方法:①整数部分:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以、
2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后
一个余数读起,一直到最前面的一个余数。
例:将十进制的168转换为二进制
得出结果:
第一步,将168除以2,商84,余数为0。
第二步,将商84除以2,商42余数为0。
第三步,将商42除以2,商21余数为0。
第四步,将商21除以2,商10余数为1。
第五步,将商10除以2,商5余数为0。
第六步,将商5除以2,商2余数为1。
第七步,将商2除以2,商1余数为0。
第八步,将商1除以2,商0余数为1。
第九步,读数,因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数
向前读,即10101000
②分数部分
方法:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整
数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。
例:将0.125换算为二进制
得出结果:
第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25
第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5
第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0
第四步,读数,从第一位读起,读到最后一位,即为0.001。
(2)十进制转八进制
方法:
①间接法:先将十进制转换成二进制,然后将二进制又转换成八进制
②直接法:八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方
法,还是整数部分的转换和小数部分的转换。
整数部分:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又
为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数
起,一直到最前面的一个余数。
小数部分:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然
后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同
十进制数的四舍五入一样,暂取个名字叫3舍4入。
(3)十进制转十六进制
方法:
①间接法:先将十进制转换成二进制,然后将二进制又转换成十六进制
②直接法:
整数部分:除16取余法,即每次将整数部分除以16,余数为该位权上的数,而商继续除以1
6,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最
后一个余数起,一直到最前面的一个余数。
小数部分:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然
后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同
十进制数的四舍五入一样,暂取个名字叫3舍4入。
4. 十六进制
基数:16
表示:用0~9,A,B,C,D,E,F表示
权值:十进制的各位权值从右向左算起, 最右位为第一位,权值为16^0=1, 次位为第二位,权
值为16^1=16, 依次类推,第n位,权值为16^(n-1)
转换:
(1)十六进制转二进制
方法:取一分四
将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。
例:将十六进制6E.2转换为二进制数
得到结果:将十六进制6E.2转换为二进制为01101110.0010即110110.001
(2)十六进制转八进制
方法:一般不能互相直接转换;一般是将十六进制转换为二进制,然后再将二进制转换为十进制。
(3)十六机制转十进制
方法:按权相加法
将十六进制每位上的数乘以权,然后相加之和即是十进制数。
这篇关于第一章 计算机硬件基础(数的表示)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!