aio*_*obe 6 language-agnostic math floating-point
众所周知,并非所有十进制数都可以用二进制表示(有限位数).
我想知道,所有(有限)二进制数是否可以使用(有限数量的)十进制数字表示?我怀疑是这样,因为二进制("0.5","0.125"等)中的所有"基元"都可以用有限数量的十进制数字表示.
所以,我的问题如下:"兼容的基础变化"的特征是什么?即," Base 2→Base 10 " 的数学属性是什么,但不适用于" Base 10→Base 2 "?
(正式提出:N和M必须具有哪些属性,以确保所有有限Base-N数都具有相应的有限Base-M数?)
Gar*_*ees 14
如果Ñ是一个二进制分数,然后Ñ = 一个/2 ķ为整数一个和ķ.
这意味着n =(a · 5k)/(2k · 5k)=(a · 5k)/ 10k
所以每个二进制分数都是小数.
在一般情况下,当且仅当N将M k除以某个k(或者等效地,如果N的每个素因子也是M的素因子)时,每个基数N的分数也是基数M的分数.类似于我上面给出的2和10的参数处理"if"方向.对于"只有if"方向,这里是一个草图证明供您填写:假设1/N = a/M k,则M k = a · N,因此N除以M k.
因此二进制可以转换为十进制而不会丢失,因为2是因子10,但十进制不能无损失地转换为二进制,因为5是因子10而不是因子2.