以前自己學習進制的轉換這一部分的時候總是不理解十進制小數轉二進制時候用到的乘基取整法的原理,在網上也沒有找到自己滿意的解答。最近再次學習時突然有了新的理解,以下是個人對十進制小數轉二進制小數原理的一些理解,希望能幫助到需要的人。
注:任何整數部分爲0的十進制小數乘二後,整數部分只可能是0或者1,對應二進制值的0和1,乘二轉換方法等同於二進制數每次左移一位後取其整數部分
十進制小數和r進制小數的關係:
如: 0.6875 = (0.1011) =
第一步
0.6875*2=1.3750 作用等同於 (0.1011)*2 即(0.1011)左移一位變成 (1.011)
取出整數部分的 1 ,分別變爲0.3750 和 (0.011),第一次取出的數 1對應公式裏的
第二步
0.3750*2=0.7500 作用等同於 (0.011)*2 即 (0.011)左移一位變成 (0.11)
取出整數部分的 0 ,分別變爲0.7500 和 (0.11), 第二次取出的數 0對應公式裏的
第三步
0.7500*2=1.5000 作用等同於 (0.11)*2 即 (0.11)左移一位變成 (1.1)
取出整數部分的 1 ,分別變爲0.5000 和 (0.1), 第三次取出的數 1對應公式裏的
第四步
0.5000*2=1.0000 作用等同於 (0.1)*2 即 (0.1)左移一位變成 (1.0)
取出整數部分的 1 ,分別變爲0.0000 和 (0.0), 第三次取出的數 1對應公式裏的
至此,小數部分的值爲0,乘二不再會產生進位,即 ,,,全部取出算法結束。