各进制间的转换
程序员文章站
2024-03-18 17:41:22
...
1.十进制转换为N进制
十进制整数转换为 N 进制整数采用“**除 N 取余,逆序排列”**法。具体做法是:
将 N 作为除数,用十进制整数除以 N,可以得到一个商和余数;
保留余数,用商继续除以 N,又得到一个新的商和余数;
仍然保留余数,用商继续除以 N,还会得到一个新的商和余数;
……
如此反复进行,每次都保留余数,用商接着除以 N,直到商为 0 时为止。
把先得到的余数作为 N 进制数的低位数字,后得到的余数作为 N 进制数的高位数字,依次排列起来,就得到了 N 进制数字.
666 //十进制
101001 1010 //二进制
1232 //八进制
29A //十六进制
2.N 进制转换十N进制
二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。
假设当前数字是N进制,那么:
对于整数部分,从右往左看,第i位的位权等于Ni-1
对于小数部分,恰好相反,要从左往右看,第j位的位权为N-j。
更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是1,那么它所表示的数值大小就是该位的位权。
3.二进制转换为八进制
合三为一,不足在前面补0
01 101 010 //二进制
0152 //八进制
4.二进制转换为十六进制
合四为一,不足在前补0
1110 0111 //二进制
0xE7 //十六进制
上一篇: SpringBoot&RabbitMQ 超简单实现
下一篇: 算法笔记3.5 问题 B: 数制转换