关于10进制转化成16进制的算法,请说明的详细点

关于10进制转化成16进制的算法,请说明的详细点,第1张

16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方…所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X 16的N次方。

例:2AF5换算成10进制:

用竖式计算:

第0位: 5 16^0 = 5

第1位: F 16^1 = 240

第2位: A 16^2= 2560

第3位: 2 16^3 = 8192

10997

直接计算就是:

5 16^0 + F 16^1 + A 16^2 + 2 16^3 = 10997

扩展资料:

十六进制转换有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15。

十进制数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成。十进制,英文名称为Decimal System,来源于希腊文Decem,意为十。

10进制怎么转16进制的步骤有:
1首先,根据图中的这种格式,要转换的数字和除以16得到的商和余数被填在相应的位置。例如我们要将7692转换成十六进制,就将7692除以16,得到商为480,余数为12,将7692、480、12填到对应的地方,如图所示。
2然后,我们按照第2步做同样的 *** 作,一步一步的,把它写在格式里。直到最后的数字小于16,如图所示,最后是1,最后,再将1除以16,得到商为0,余数为1,当商为0时,就表示转换结束了余数。
3在十六进制中,十进制中的O~9仍然是十六进制中的O~9;而十进制中的10~15在十六进制中则表示为A~F。通过上述过程,我们依次得到12、0、14、1四个残差,在十六进制中为C、0、E、1。将C、0、E、1依次写到对应的余数旁边,如图所示,从下往上看,则依次是1、E、0、C。这就表示,十进制的7692就等于16进制中的1EOC,7692=1EOCH,在1EOC后面加个H,就表示它是16进制的数。

十六进制转换成十进制的具体算法是:

1、首先明白16进制数(从右到左数是第0位,第1位,第2位……)的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次这样排列下去。

2、明白ABCDEF表示的二进制数字分别是10,11,12,13,14,15。

3、十六进制转换成十进制的公式是:要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。

例1:

2AF5换算成10进制:

第0位:516^0=5

第1位:F16^1=1516^1=240

第2位:A16^2=1016^2=2560

第3位:216^3=8192结

果就是:516^0+1516^1+1016^2+216^3=10997

例2:CE换算成10进制:

第0位:E16^0=1416^0=14

第1位:C16^1=1216^1=192

结果就是:1416^0+1216^1=206

进制转换的理论

1、 二进制数、十六进制数转换为十进制数:

用按权展开法把一个任意R 进制数a n a n-1 a1a 0 a -1 a -2a -m转换成十进制数,其十进制数值为每一位数字与其位权之积的和。

a n ×Rn+ a n-1×R n-1 +…+ a 1×R 1 + a 0×R 0 + a -1 ×R -1+ a -2×R -2+ …+ a -m ×R -m

2、 十进制转化成R 进制十进制数轮换成R 进制数要分两个部分:整数部分要除R 取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(反序排 列) 。小数部分要乘R 取整数,得到的整数即为二进数各位的数码,整数从左到右排列(顺序排列) 。

3、十六进制转化成二进制:每一位十六进制数对应二进制的四位,逐位展开。

4、 二进制转化成十六进制:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每四位组成一组,不足四位补零。

1、首先,在Windows10的电脑桌面上点击左下方的搜索图标,在d出的搜索框中输入计算器,并按回车键。

2、然后,在打开的计算器中点击左侧的三横杠图标。

3、接着,点击程序的选项进入。

4、之后,在数字面板中点击3和2。

5、如图所示,左侧上方的DCT后面的即为八进制,HEX后面的即为十六进制。

6、最后,在数字的面板中依次点击负号——数字28654,就可以看到转换成功的八进制和十六进制。

以10进制整数123456转换为16进制数为例:
10进制整数1234转换为16进制数,采用除16反向取余法:
1234/16=772
77/16=413 (用 D 表示)
4/16=04
从下往上读取每一次的余数,就是转换的结果:
1234=(4D2)16
10进制纯小数056转换为16进制数,采用乘16取整法:
05616=896
09616=1536 (整数 15 用 F 表示)
03616=576
07616=1216 (整数 12 用 C 表示)
01616=256
05616=896
095999916=1536 (整数 15 用 F 表示)
035998516=575977
075976616=121563 (整数 12 用 C 表示)
01562516=25
0516=8
从上往下读取每一次商的整数部分,就是转换的结果:
056=(08F5C28F5C28)16
把整数和小数转换的结果合并起来,就是总的答案:
123456=(4D28F5C28F5C28)16


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12823031.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存