前言
进制转换是人们利用符号来计数的方法。
十六进制与十进制之间的转换包括十进制转十六进制和十六进制转十进制。
正文
好久不接触这个,现在一不留神就又迷迷茫茫的对不上号了。
今天就温习一下“十六进制转十进制”和“十进制转十六进制”,记录于此,方便自己回顾。
十进制转十六进制
十进制转十六进制分为整数部分和小数部分
整数部分
整数部分,用被除数反复除以16,除第一次外,每次除以16均取前一次商的整数部分作被除数并依次记下每次的余数。
另外,所得到的商的最后一位余数是所求二进制数的最高位。
小数部分
小数部分,采用连续乘以基数16,并依次取出的整数部分,直至结果的小数部分为0为止。
给你一个十进制,比如:120,如何将它转换成十六进制数呢?
10进制数转换成十六进制数,这是一个连续除以16的过程:
- 把要转换的数,除以16,得到商和余数。
- 将商继续除以16,直到商为0。
- 最后将所有余数倒序排列,得到数就是转换结果。
举个例子
比如要转换120为十六进制数:
转换的数是120, 120 ÷ 16,得到商是7,余数是8。
现在商是7,还不是0,所以继续除以16。那就: 7 ÷ 16, 得到商是0,余数是7。现在商已经是0。
我们两次计算依次得到余数分别是:8、7,将所有余数倒序排列,那就是:78。
故120转换成十六进制,结果是78。
十六进制转十进制
16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
举个例子
假设有一个十六进数 2AF5, 那么如何换算成10进制?
例:2AF5换算成10进制:
用竖式计算:
第0位: 5 * 16^0 = 5 第1位: F * 16^1 = 240 第2位: A * 16^2= 2560 第3位: 2 * 16^3 = 8192 直接计算就是: 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
参考文章
© 版权声明