二进制与十进制之间互转

二进制与十进制之间互转

	二进制 0b1010010101001
	方法:以小数点为界,小数点左一位对应的值为2的0次方,左二位对应的值为2的1次方,左边的类推,次方是递增的,而小数点后面的第一位取2的-1次方,后面的第二位取2的-2次方,右边的类推,次方递减。
	前面的0b是代表二进制的一个符号,弃之~ 
	得到 1010010101001,总共是13位
	第一位是 1*2^13-1 = 4096;
	第二位是 0  0不用运算,反正都是0
	第三位是 1*2^11-1 = 1024;
	第四位是 0
	第五位是 0
	第六位是 1*2^8-1 = 128;
	第七位是 0
	第八位是 1*2^6-1 = 32;
	第九位是 0
	第十位是 1*2^4-1 = 8;
	第十一位是 0
	第十二位是 0
	第十三位是 1*2*0 = 1;
	数字相加 = 4096+1024+128+32+8+1 = 5289;
	十进制 5289
	如何转换成二进制呢,需要用到一个方法,就是 "除二取余,逆序排列" 法。
	第一组是 5289/2 ==2644  余数是1
	第二组是 2644/2 = 1322  余数是0
	第三组是 1322/2 = 661   余数是0
	第四组是 661/2 = 330    余数是1
	第五组是 330/2 = 165    余数是0
	第六组是 165/2 = 82     余数是1
	第七组是 82/2 =  41     余数是0
	第八组是 41/2 =  20     余数是1
	第九组是 20/2 =  10     余数是0
	第十组是 10/2 =  5      余数是0
	第十一组是 5/2 = 2      余数是1
	第十二组是 2/2 = 1      余数是0
	第十三组是 1/2 = 0      余数是1
 	值相拼接 逆序排列 得值 1010010101001 这个数字就是十进制转到二进制的数字。

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