十进制转二进制

192 阅读1分钟

分为:

  1. 十进制整数转二进制整数
  2. 十进制小数转二进制小数

先说方法

  1. 十进制整数转二进制整数:除2取余,逆序排列
  2. 十进制小数转二进制小数,整数部分小数部分要分别转,整数部分转换按上面的方法,小数部分转换方法:乘2取整,顺序排列

再说原理

除2取余,逆序排列

(xxx)10 = (yyyyy)2
十进制数除2,则对应的二进制数【右移一位】;
十进制数除2后,会得到【商数】和【余数】:

  • 【商数】对应【二进制数右移一位后的结果】
  • 【余数】对应【二进制数低位的值】。
    也就是说,十进制数每次除2后的【余数】都是二进制数低位的值,所以:除2取余,逆序排列。

乘2取整,顺序排列

(0.xxxxx)10 = (0.yyyyyy)2
十进制小数乘2,则二进制小数的【小数点右移一位】;
十进制小数乘2后,会得到【新整数部分】和【新小数部分】:

  • 【新整数部分】要么是0要么是1,对应【二进制小数的小数位高位的值】
  • 【新小数部分】对应【二进制小数的小数点右移一位后的新小数部分】

也就是说,十进制小数每次乘以2后的【新整数部分】都是二进制小数的小数位高位的值,所以:乘2取整,顺序排列。