首页 > 其他 > 详细

进制转换

时间:2020-03-17 13:16:14      阅读:72      评论:0      收藏:0      [点我收藏+]

二进制到十进制的转换

  • 十进制有 0,1,2,3,4,5,6,7,8,9
  • 二进制有 0,1

??由于所处的位置不同,每个数位都有一个不同的放大倍数,称为“"。每个数位的权是这样计算的:从右向左开始,以基数为底,指数从0开始递增的。比如一个二进制数 10110001,它的基数是2,所以要这样计算它等值的十进制数:

10110001 = 1×2\(^7\)+0×2\(^6\)+1×2\(^5\)+1×2\(^4\)+0×2\(^3\)+0×2\(^2\)+0×2\(^1\)+1×2\(^0\) = 177D

由上可以想到另一种方法转换:

  • 由上我们可以列出一组数:1,2,4,8,16,32,64,128 ······

我们可以对应这组数进行计算,二进制遇到 1 就累加,遇到 0 就跳过。

10110001 = 128+32+16+1 = 177

??上面的公式里,10110001B 里的B表示这是一个二进制数,D则表示177是个十进制数。B 和 D 分别是英语单词 Binary 和 Decimal 的头一个字母,这两个单词分别表示二进制和十进制的意思。

十进制到二进制的转换

??为了将一个十进制转换成二进制数,可以采用将它不停地除以二进制的基数 2,直到为0,然后将每一步的得到的余数串起来,从左向右书写,就是我们所要转换的二进制数。
技术分享图片

十六进制到十进制的转换

??要把一个十六进制数转换成我们熟悉的十进制数,我们采用和前面一样的方法。只不过,计算各个数位的时,的底数是16。比如将十六进制数125转换成十进制数的方法如下:

125H = 1×16\(^2\)+1×16\(^2\)+1×16\(^0\) = 293D

??上式里,125后面的 H 用于表明这是个十六进制数,它是盈余单词 hexadecimal 的头一个字母,这个单词的意思是十六进制。

十进制到十六进制的转换

??要把一个十进制数转换成十六进制数,则可以采取不停地除以16并取其余数的策略。技术分享图片

二进制到十六进制的互换

??看看十进制数,二进制数和十六进制数之间,都有些什么有趣的规律和特点。
技术分享图片
??4比特的二进制数,可以表示的数是 0000 到 1111,也就是十进制的0~15,这正好对应于十六进制的0 ~ F。
技术分享图片
??如果将一个二进制数从右向左,分成4比特为一组的形式,分别将一组的值转换成十六进制数,就可以得到这个 二进制数所对应的十六进制数。

换位思考

我们知道

  • 1111B = 8+4+2+1 = 15D

那么

  • 1110 = 15 - 1 = 14D

所以

  • 1101 = 15 - 2 = 13D
  • 1011 = 15 - 4 = 11D
  • 0111 = 15 - 8 = 7D

进制转换

原文:https://www.cnblogs.com/chengmf/p/12509835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!