十进制和二进制互相转换计算方法

一、十进制转二进制

计算方法:

  1. 十进制的数除以2,得到商和余数(余数为0或1)
  2. 然后得出的商继续除以2得到商和余数,直至商为0
  3. 最后将这些余数倒序排序

注意:1除以任何一个大于1的正整数的余数都是1

// 十进制数256 转二进制为100000000
256/2=1280
128/2=640
64/2=320
32/2=160
16/2=80
8/2=40
4/2=20
2/2=10
1/2=01 // 1除以任何一个大于1的正整数的余数都是1
将余数倒序排序就是二进制为:100000000

// 十进制数107转二进制为1101077
107/2=531
53/2=261
26/2=130
13/2=61
6/2=30
3/2=11
1/2=01 // 1除以任何一个大于1的正整数的余数都是1
将余数倒序排序就是二进制为:1101011

二、二进制转十进制

计算方法:

  1. 从最后一位开始算,依次乘以2的n次方
  2. 最后一位就是2的0次方,倒数第二位就是2的一次方,2的次方一直+1,直至第一位
  3. 最后将所有计算的和加起来

注意:任何非零数的0次方都等于1

// 二进制100000000 转为十进制256
// 从最后一位开始算,为2的0次方,之后每次乘以2的上一次次方+1
0*20次方=0 // 任何非零数的0次方都等于1
0*21次方=0 
0*22次方=0 
0*23次方=0 
0*24次方=0 
0*25次方=0 
0*26次方=0 
0*27次方=0
1*28次方=256 // 等于1*2*2*2*2*2*2*2*2=256
// 最后相加 256+0+0+0+0+0+0+0+0=256

// 二进制1101011转为十进制107
// 从最后一位开始算,为2的0次方,之后每次乘以2的上一次次方+1
1*20次方=1 // 任何非零数的0次方都等于1
1*21次方=2 
0*22次方=0 
1*23次方=8 
0*24次方=0 
1*25次方=32
1*26次方=64  // 等于1*2*2*2*2*2*2=64
// 最后相加 64+32+0+8+0+2+1=107

猜你喜欢

转载自blog.csdn.net/weixin_43948460/article/details/131920224