十进制与二进制互相转换最简单粗暴的方法
一、十进制转二进制(简单粗暴)
使用1248对比法:
先列出以下表格,“基数行”为固定对比基数:从1开始乘2一直到256,倒序排列
基数行 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|
十进制行 | |||||||||
二进制行 |
举例:要求得52的二进制
1.先判断52在“十进制行”的哪一个位置:52在64和32中间在,则将52写在64下;
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
---|---|---|---|---|---|---|---|---|---|
十进制行 | 52 | ||||||||
二进制行 |
2.依次填充“十进制行”剩下的每一格
填充原则:若“十进制行”数a大于等于基数行数b,则下一格数据为a-b,否则下一格数据为a
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
---|---|---|---|---|---|---|---|---|---|
十进制行 | 52 | 52 | 20 | 4 | 4 | 0 | 0 | ||
二进制行 |
3.填充“二进制行”:
填充原则:“十进制行”数a大于等于“基数行数”b,则“二进制行”填1,否则填0
256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | |
---|---|---|---|---|---|---|---|---|---|
十进制行 | 52 | 52 | 20 | 4 | 4 | 0 | 0 | ||
二进制行 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
4.“二进制行”填充完毕即是结果;
二、二进制转十进制
举例:要求得110100的十进制
0*2^0+0*2^1+1*2^2+0*2^3+1*2^4+1*2^5=20+32=52
解释:
(1) 0*2^0: 0是从右到左开始第一位数字0;2是固定数值;幂次0则是从右到左每一位数字的索引;
(2) 每一位数以上述格式累计相加即可;