参考:
https://blog.csdn.net/jjj19891128/article/details/22945441(得到小数转换二进制)
引:
最常见的数字进制是十进制,我们生活当中均有体现,如15.00 ¥ ,以0-9组成的数字序列
再其次了解的进制是2进制,是计算技术中广泛采用的一种数制, 如: 0b0100,以0-1组成的数字序列,前面以0b或者0B开头,用来与10进制区分
再其次熟悉的进制是16进制,偶尔可以看到类似:C554D0513BBE7D39,这是我利用md5加密后得到的16位表示字符串,计算机应用中经常用它存储密吗这类东西,16进制以0X开头,后面由0-9 a-f A-F组成的数字序列,如0X5A
再常见的就是8进制了,0开头,0~7范围内数字组成的数字序列,如:0342
什么是进制呢?
进制转换:进制转换:
0100100 2进制转十进制: 0*2^0 + 0*2^1 + 1*2^2 + 0*2^3 + 0*2^4 + 1*2^5 = 4 + 32 = 36 2进制转8进制: 000(8^2)+ 100(8^1) + 100 (8^0) = 0 * 64 + 4*8 + 4*1 = 36 = 044 8进制以0开头,原理利用2^3=8 2进制转16进制: 0010(16^1) + 0100(16^0) = 2*16 + 4 = 36 = 0x24 原理利用2^4=16 16进制转2进制: 0x24 0010 0100 将每个数字分别转2进制即可,4位表示 8进制转2进制: 044 100 100 将每个数字分别转2进制即可,3位表示 10进制转2进制:36 2 36 0 2 13 1 2 6 0 2 3 0 2 1 1 得到:010011 所有余数相加,如果有正负号,正负号保留, 如果有小数点,小数点也保留 小数点后的转二进制与整数转二进制有些不同,因为要把数转换成2^n + 2^m + 2^b ...累加的形式,而2^0就是1,所以n这些一定是负整数, 2^-1 = 1/2.... ,转二进制的方式就是 不断 * 2, 得到值<1计为0,>1计为1,大于1后应使用该值-1进行后面的计算,最后转换成为1.xx * 2 ^n次方的形式 0.25转二进制 0.25 * 2 0.5 0 0.5 * 2 1.0 1 0 * 2 0 0 ... 得到0.010,得到1.0 * 2^-2
5.2转2进制
整数部分转二进制与小数部分转二进制相粘合
5转2进制:101
0.2的二进制:0011001100110011001100110011 无限循环
粘合: 101. 00110011 00110011 00110
计数法表示:1.010011001100110011 * 2^2
其他进制转换可以以2进制为媒介中转,数额太大可使用计算器或者api达到效果
原文:https://www.cnblogs.com/aigeileshei/p/10422331.html