总结备忘。
十进制转二进制
方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
1 | 217/2 = 108 ---- 1 |
js转换:
1 | > parseInt("217").toString(2); |
二进制转十进制
方法为:把二进制数按权展开、相加即得十进制数。
11011001=1×20+1×23+1×24+1×26+1×27=1+8+16+64+128=217
js转换:
1 | > parseInt("11011001",2); |
二进制转八进制
方法为:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
11011001=(011)(011)(001)=(1×20+1×21)(t×20+1×21)(t×20)=331
js转换:
1 | > parseInt("11011001",2).toString(8); |
八进制转二进制
方法为:八进制数每个位上的数分别转换为三位二进制,顺序从右往左。
331=(3)(3)(1)=(011)(011)(001)=11011001
js转换:
1 | > parseInt('331',8).toString(2); |
二进制转十六进制
方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)。
11011001=(1101)(1001)=(1×20+1×22+1×23)(1×20+1×23)=(13)(9)=d9
js转换:
1 | > parseInt('11011001',2).toString(16); |
十六进制转二进制
方法为:十六进制数每个位上的数分别转换为四位二进制,顺序从右往左。
d9=(d)(9)=(13)(9)=(1101)(1001)=11011001
js转换:
1 | > parseInt('d9',16).toString(2); |
十进制转八进制
方法和十进制转二进制类似:
1 | 150/8 = 18 ---- 6 |
js转换:
1 | > parseInt(150).toString(8); |
八进制转十进制
方法:把八进制数按权展开、相加即得十进制数。
226=2×82+2×81+6×80=128=16=6=150
js转换:
1 | > parseInt('226',8); |
十进制转十六进制
方法和十进制转二进制类似:
1 | 150/16 = 9 ---- 6 |
js转换:
1 | > parseInt(150).toString(16); |
十六进制转十进制
方法:把八进制数按权展开、相加即得十进制数。
96=9×161+6×160=144+16=150
js转换:
1 | > parseInt('96',16); |
v1.1.8-rc2