题主想当然了,圆周率π用二进制表示根本就不是11.11111……。
圆周率不是一个有理数,所以它不可能是一个无限循环小数。
在十进制下,圆周率的大小约为3.141592653589793……。
数学家早已经在数学上严格地证明出圆周率是一个无理数,这意味着它是无限不循环小数。
不管在二进制,还是八进制,或者十六进制,圆周率始终都不可能是有理数,它是无理数这个性质不会随着进制的转换而发生变化。
因为进制只是数的表示方式,并不会影响到数本身的性质。
按照题主给出的数值11.11111……,通过计算可知,这个二进制的数转换为十进制之后为4,与圆周率的3.14……差远了,所以11.11111……根本就不是二进制下的圆周率。
那么,圆周率用二进制表示为多少呢?所谓的十进制是指逢十进一,而二进制则是指逢二进一。
在十进制的情况下,一个小数的第k个小数位表示10^-k。
同样的道理,在二进制的情况下,一个小数的第k个小数位表示2^-k。
那么,圆周率的二进制形式(小数点前50位)为11.00100100001111110110101010001000100001011010001100……,这与题主所说的11.11111……差远了。
在二进制下,圆周率同样是一个无限不循环小数。
另外,通过如下的贝利-波尔温-普劳夫公式(BBP公式),还能计算出圆周率第n位二进制数,而无需计算前面的所有位数:另外,在π进制下,圆周率确实是一个有理数。
因为逢π进1,所以圆周率在π进制中就是10,这是一个整数,而非无理数。
然而,这么做似乎没有意义,这纯粹是为了让圆周率变成有理数的做法。
这么做,与直接定义圆周率是有理数并没有什么区别。
二进制小数点前的每位权值是2的幂,1,2,4,8,16,32……小数点后每位的权值同样是2的负指数幂,即0.5,0.25,0.125,0.0625……圆周率3.141592653的正确转换结果是11.001001000011111101101010100001011111110100100111实际上也可能会采用8421BCD码,用4位2进制表示一位十进制数,表示如下:0011.0001 0100 0001 0101 1001 0010 0110 0101 0011



