二进制与十六进制之间互转

二进制与十六进制之间互转

方法:取四合一法,以小数点为分割线,整数部分从右(低)位到左(高)位依次四个一组,最后不够的高位补0, 小数点部分从左(高)到右(低)依次四个一组,最后不够的高位补0,接着将每组二进制按权相加,从低位开始,也就是从数的后面开始,第1个数乘以2^1-1,第2个数乘以2^2-1,,第3个数乘以2^3-1,第4个数乘以2^3-1
十六进制A(10)、B(11)、C(12)、D(13)、E(14)、F(15)
	二进制 0b1010010101001
	前面的0b是代表二进制的一个符号,弃之~ 
	从右手开始将数字分割,每四个为一组,前面要是不够那就补0
	得到 0001 0100 1010 1001
	第一组是 (0*2^3) + (0*2^2) + (0*2^1) + (1*2^0) == 1;
		得到数字1,其实如果数字是0那么就不用运算,我这么做 是为了展示。
	第二组是 (0*2^3) + (1*2^2) + (0*2^1) + (0*2^0) == 4;
	第三组是 (1*2^3) + (0*2^2) + (1*2^1) + (0*2^0) == 10;  //10在16进制中显示A
	第四组是 (1*2^3) + (0*2^2) + (0*2^1) + (1*2^0) == 9;  == 5;
	值相拼接 得 14A9,这个数字就是二进制转到十六进制的数字。
	十六进制 14A9
	从右手开始将数字分割,每一个为一组
	得到 1 4 A 9
	第一组是 1 = (0*2^3) + (0*2^2) + (0*2^1) + (1*2^0) == 0001;
	第二组是 4 = (0*2^3) + (1*2^2) + (0*2^1) + (0*2^0) == 0100;
	第三组是 A = (1*2^3) + (0*2^2) + (1*2^1) + (0*2^0) == 1010; //10在16进制中显示A
	第四组是 9 = (1*2^3) + (0*2^2) + (0*2^1) + (1*2^0) == 1001;
	值相拼接 得 0001 0100 1010 1001,这个数字就是十六进制转到二进制的数字。

信天翁博客
请先登录后发表评论
  • latest comments
  • 总共0条评论