考虑到它们以与整数完全相同的方式工作,其他基数中的“小数”(分数位)令人惊讶地不直观。
base 10
scinot 10e2 10e1 10e0 10e-1 10e-2 10e-3
weight 100.0 10.0 1.0 0.1 0.01 0.001
value 0 4 5 .2 5 0
base 2
scinot 2e6 2e5 2e4 2e3 2e2 2e1 2e0 2e-1 2e-2 2e-3
weight 64 32 16 8 4 2 1 .5 .25 .125
value 0 1 0 1 1 0 1 .0 1 0
如果我们从45.25开始,则大于/等于32,因此我们将二进制数加1,然后减去32。
我们剩下的13.25小于16,因此我们添加了二进制0。
我们剩下13.25,它大于/等于8,所以我们加一个二进制1,然后减去8。
我们剩下的是05.25,它大于/等于4,因此我们将二进制数1加减4。
我们剩下的01.25小于2,因此我们添加了二进制0。
我们剩下01.25,它大于/等于1,所以我们加一个二进制1,然后减去1。
对于整数,我们剩下零,所以我们停止。 但:
剩下的00.25小于0.5,因此我们添加了二进制0。
我们剩下00.25,它大于/等于0.25,所以我们加一个二进制1,然后减去0.25。
现在我们有了零,所以我们停止了(或者不停止,如果需要,您可以继续计算永远为零)
请注意,并非所有十进制的“简单”数字始终会达到该零停止点。 0.1(十进制)转换为基数2,将无限重复:0.0001100110011001100110011 ...但是,二进制中的所有“简单”数字始终会很好地转换为基数10。
您也可以使用分数(2.5),无理(pi)或虚数(2i)基数执行相同的过程,除非基数不能介于-1和1之间(包括-1和1)。