十进制转为二进制
一.整数
1)权和法
将所要操作的整数分解写为2的n次方的和,其中最低位是2^0=1
例:9 = 8 1 or 9 = 2^3 2^0
2^3 2^2 2^1 2^0
1 0 0 1
所以9的二进制数是1001
2)除2取余法(重复除2法)
将要操作的十进制数重复除2,可得余数0或1;将最先得到的余数作为LSB,最后的做MSB
例:
12(原数) | Remainder(余数) |
---|---|
12/2 = 6 | 0(LSB) |
6/2 = 3 | 0 |
3/2 = 1 | 1 |
1/2 = 0 | 1(MSB) |
所以12的二进制数是1100
二.小数
1)权和法
具体操作和整数一样,只是二进制的各位所占的权重由-1到-n
例:0.625 = 0.5 0.125 = 2^(-1) 2^(-3) = 0.101
2)乘2取整法(重复乘2法)
将要操作的十进制数重复乘2,可得进位0或1;将最先得到的进位作为MSB,最后的做LSB
例:
0.3125(原数) | Carry |
---|---|
0.3125*2 = 0.625 | 0(MSB) |
0.625*2 = 1.25 | 1 |
1.25*2 = 0.50 | 0 |
0.50*2 = 1.00 | 1(LSB) |
所以0.3125的二进制数是0.0101