Math 如何将十进制转换为二进制?

Math 如何将十进制转换为二进制?,math,data-representation,Math,Data Representation,如何将十进制数18.25转换为二进制数?我被小数点弄糊涂了。25。就像你反复将这个18除以2来表示它的十进制,你需要做相反的操作来将数字的小数部分转换成二进制。您需要将数字的小数部分重复乘以2,直到它给出一个独立的数字。第一次乘法的结果乘积将是第二次乘法的输入,这将一直持续到我们达到一个停滞的稳定整数值 在你的例子中,18.25的小数部分是0.25 让我们先把它乘以2 0.25*2=0.5 // 0 0.5*2=1.0 // 1 当我们最终将产品作为一个独立的整数出现时,Hunt就

如何将十进制数18.25转换为二进制数?我被小数点弄糊涂了。25。

就像你反复将这个18除以2来表示它的十进制,你需要做相反的操作来将数字的小数部分转换成二进制。您需要将数字的小数部分重复乘以2,直到它给出一个独立的数字。第一次乘法的结果乘积将是第二次乘法的输入,这将一直持续到我们达到一个停滞的稳定整数值

在你的例子中,18.25的小数部分是0.25

让我们先把它乘以2

0.25*2=0.5   // 0

0.5*2=1.0    // 1
当我们最终将产品作为一个独立的整数出现时,Hunt就结束了

此外,18的十进制到二进制转换为10010Base2。正如你所知道的,你可以很容易地计算出这个问题中提到的

因此,18.25的十进制表示形式将是10010.01base2——请参见,顺序为01,与我们从下至上遍历的数字不同


我希望这是清楚的

这个问题显然与主题无关,因为它与编程无关。你也许能得到帮助。
with recursiveCTE(num) as (
  select &EnterNum num from dual
  union all
  select trunc(num/2) from recursiveCTE
  where trunc(num/2)> 0
),
ref as (SELECT num, mod(num, 2) bin_remainder from recursiveCTE)
select reverse(to_char(replace(wm_concat(bin_remainder), ','))) binary_num from ref;