2.1 进制转换

Posted yuanerduo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.1 进制转换相关的知识,希望对你有一定的参考价值。

这里主要介绍二进制、十进制、十六进制的转换

一.基本概念:

①数码:用来表示进制数的元素

  • binary二进制数码:0,1
  • decimal十进制数码:0,1,2,3,4,5,6,7,8,9
  • hexadecimal十六进制数码:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

②基数:数码的个数,三种进制分别为2,10,16

③位权:数制中每一个固定位置对应的单位值为位权;每个数码表示的数值=该数码值*所处位置的位权,例十位,个位,百位等

总结:(N)R=an-1Rn-1+an-2Rn-2+……+a-mR-m ,其中R位基数,Rn 为位权。

二.进制转换

①二进制转换成十进制Binary——>decimal

按权相加法:小数点前的部分,整数从最后一位从右向左开始,从0开始依次为第n位,依次乘以2的n次方相加;小数部分从左往右算,依次算为第1,2,3……n位,将第n位的数乘以2的-n次方,相加即可得到小数位的十进制数。

②二进制转换成十六进制

每四位二进制数对应一个十六进制数位,以小数点为界,整数部分从右向左每4位隔开,不足4位左边补0即可;小数部分将二进制数从左往右每4位隔开,不足4位的右边补0,即可得到16进制数

③十进制转换成二进制

以小数点为界限,整数部分用除2取余发,小数部分用乘2取整法:先乘2,将获得于运算结果的整数部分,将结果中的小数部分再次乘以2,直到小数部分为0为止,将第一次得到的整数部分作为二进制小数的最高位,后续的整数部分依次排开,即得到二进制的小数部分。

计算机的浮点数运算不准确:有些十进制的小数无法准确的用二进制表示,符合一定的精度后,即可舍去尾部

④十进制转换成十六进制

和转化成二进制类似,整数部分采用除16取余法,小数部分采用乘16取整法

⑤十六进制转换成二进制

与二进制转换成十六进制相反的过程,每一位十六进制对应4为二进制,逐位展开即可

⑥十六进制转换成十进制

与二进制转换成十进制类似,按权相加法,整数部分依次乘以16的N次方,小数部分乘以16的-n次方,相加即可

三.总结

1.其他进制转十进制:按权相加法

2.十进制转其他进制:除基取余法+乘基取整法

3.二进制和十六进制互相转化:整数部分前后分别4位4位的转换

 

 

参考资料:进制间的转换原理

以上是关于2.1 进制转换的主要内容,如果未能解决你的问题,请参考以下文章

2.1数制与编码

web二进制(string ----> Blob -----> (ArrayBuffer DataURLObjectURLText)相互转换)

web二进制(string ----> Blob -----> (ArrayBuffer DataURLObjectURLText)相互转换)

LeetCode1837. K 进制表示下的各位数字总和(C++)

十进制转换了ASCII怎么转换

进制转换