十六进制转换成十进制的公式是要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。16进制即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15。故而有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数。
常用的数的进制
计算机中常用的数的进制主要有:二进制、八进制、十六进制,学习计算机要对其有所了解。
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制就是逢16进1,但们只有0~9这十个数字,所以们用a,b,c,d,e,f这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
将十六进制数转换为二进制数:
方法一:
将每一位的十六进制数转换为相应的4位二进制数,参照转换表直接转换如下:
方法二:
先把16进制每个数转为十进制,十六进制的1-9也对应十进制的1-9,十六进制的A-F对应十进制的10-15,再通过十进制转化为二进制(将十进制数连续除2,直至得0余x,并将每次的余数从右至左记下),最后将所得的四位二进制数顺序排列。
举例:
对于十六进制数字F6:
采用方法一:
F=1111,6=0110
所得即为11110110
采用方法二:
f=15 除2得 7余1
7 除2得 3余1。
3除2得1余1
1除2得0余1
将余数从下往上(从1的余数1到15的余数1)排列,所以f=1111。
同理6=0110
得f6=11110110
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进制 的15,即16进制每一位上最大值,所以,我们可以得出简便的转换方法,将16进制上每一位分别对应二进制上四位进行转换,即得所求:
例:2AF5换算成2进制:
第0位: (5)16 = (0101) 2。
第1位: (F)16 = (1111) 2。
第2位: (A) 16 = (1010) 2。
第3位: (2) 16 = (0010) 2 -------------------------------------。
得:(2AF5)16=(0010.1010.1111.0101)2。
0xffffffff表示的是一个十六进制数。
1.将其转换为十进制数
0xffffffff=16x10 7+16x10 6+...+16x10^0=4294967295。
2.将其转换为二进制数
十六进制转换为二进制就是直接把每位转换成二进制就可以了。
f(15)变成二进制:1111,则。
0xffffffff = 1111 1111 1111 1111 1111 1111 1111 1111 (8个F的二进制形式, 一个F占4个字节 )。
即32位数都是1的二进制数。
0x代表16进制,后面是数字,十进制是4294967295。
引用文献1
引用文献2
2 8 10 16进制之间的转换如下:
有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。个位,N=1;十位,N=2。
举例:
110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D。
110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D。
110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D。
十六进制为更常用的编程语言
因为两个十六进制数字完全指定一个字节。一些平台的2的幂,字的大小还有指令更容易理解。现代无处不在的x86体系架构也属于这一类,但八进制很少使用这个架构,尽管某些属性的操作码的二进制编码变得更加显而易见,当显示在八进制时,如ModRM字节,它分为2、3和3位,所以八进制可用于描述这些编码。
8421码的从左到右,第一个1代表8,第二位的1代表4,第三位代表2,第四位代表1。
4个1的话 就是 8+4+2+1=15=0xF。
将每一个数字都各自转换为4位的8421码。
比如1A,1转换成0001,A转换成1010,合起来就是00011010。
比如FF,F转换成1111,2个合起来就是11111111。
8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。
在这种编码方式中每一位二值代码的1都是代表一个固定数值,把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。由于代码中从左到右每一位的1分别表示8,4,2,1,所以把这种代码叫做8421代码。每一位的1代表的十进制数称为这一位的权。8421码中的每一位的权是固定不变的。
原文地址:http://www.qianchusai.com/16%E8%BF%9B%E5%88%B6%E7%BC%96%E7%A0%81%E8%BD%AC%E6%8D%A2.html