java求实数的整数部分和小数部分_为什么不存在π进制?——兼论进制的底为什么一定是正整数...

关于“进制”

所谓进制,其实就是一种用少量的有限个数码来表示无限之数字的一种计数规则。是一种人为定义的带进位的计数方法。

比如说我们最常用的10进制,就是规定了0,1,2,3,4,5,6,7,8,9这10个数码,然后用这10个数码的不同组合来表示任意一个数,基本规则就是“逢十进一”:X9的下一个数就是(X+1)0。再比如,加法,9+5=9+1+4=14,逢十进一。0~9这10个计数符号完全是人为规定,你完全可以取其他符号,比如a,b,c,d,e,f,g,h,i,j,k来作为10进制下的计数符号。中国古代就是用如下不同的算筹摆放方式代表不同的数码的,其实是一种“五-十进制”。

9ac31c1708cf59466e5dd9036320865d.png

算筹其实是一种“五-十进制”

计数其实表示了一种带权的求和形式。比如数字1234,再十进制下其实代表了4×1+3×10+2×100+1×1000,从右往左,每个数码的权重分别是10^0, 10^1, 10^2, 10^3, ...。在十进制下,每个自然数也都可以唯一地写成

8a5c007ed4a90aa4da42658cd1808803.png

计算机中采用的数制是二进制,也就是只有0,1两个数码,二进制的计数规则是“逢二进一”:从0开始的整数依次为:0,1,10,11,100,101,110,....同样地,在二进制下,每个自然数都可以唯一地写成

0216be6a28560e0ab6dd40aeb790a41a.png

类似地,取定任意不小于2的正整数b,在b进制下,每个自然数都可以唯一地写成

5bbb6de9a0619d10e2ae68ce0da35249.png

不妨对以上结论的唯一性证明一下:

假设存在自然数N,满足

1696c763f0db1bdc2413013c00a1079a.png

首先,我们断言,两个表达形式的位数一定相同。也就是k1=k2。

证明如下:

假设k1≠k2, 不妨设k1>k2, 即k1≥k2+1,于是

425b643aac68c9290f779596d8294e18.png

根据进制的规则,显然有

23dd8241077c153df7a08e10d58ef7b8.png

对任意数字形式

9e9aaa96d3b0b39acb741bae37bacb62.png

因为系数an'总是介于0~b-1之间的,所以总有

1745326c858fdf51569d611e23c59971.png

换言之,

d3743e1bd0e52320d4df6da02c5b0519.png

矛盾。

故k1=k2。记为k1=k2=k。类似地,同上面的证明可知,不仅两个数的位数相等,且最高位上的数码也相等,也就是

20f7ad5c5f107cc90069bbd49ddcd243.png

第二步,令

d7f4ce5269b7680c93881605d39665c5.png

同理,我们有

9397d5654a11ce975ce1478a06ced73e.png

.....

这样递推下去,可以证明an和an'始终相等,故两种形式完全一致。

从而取定正整数b,每个自然数在b进制下的表达式都是唯一的。

(by 今日头条:@谈数论理)

刚刚说的是正整数,对于小数,就不一定了。举例来说,学过高等数学的人应该知道如下公式:

5de79fbb60d0548f1dc8f8346741bc88.png

这样,1就有两种十进制表达:1和0.9循环。事实上,每个在十进制下表现为“有限小数”的数,都有另外一种无限小数的十进制表达形式。

但每个数的”无限小数“的表达形式,都是唯一的。

比如(仍是十进制):

2d9e0b3a393a2d0ecdf4f647a3c736bc.png

这种唯一性保证了b进制的合理性。

关于所谓“π进制”

有人突发奇想,进制的底如果取π会怎样?每个数,是不是都能表示成下面这种关于π的指数求和形式呢?

0eb81391cf4a9bd7da63012d3f54e98a.png

答案是肯定的,π也是一个"普普通通"的实数,任意实数,总能写成上面的这种关于π的指数求和形式。但问题有两个:

(1)系数an如何选取?(2)这种表达形式唯一吗?

如果只是一种级数求和的形式,当然无所谓这两个问题,但既然要把π作为计数的基底,那么必须要对此进行讨论。

首先,对第一个问题:系数an怎么选取?

直观上,π介于3和4之间,3进制需要0,1,2这三个数码,4进制需要0,1,2,3四个数码,所以,π进制应该使用最多不超过4个计数数码。

如果采用3个,也就是an只能取0,1,2这三个数码,显然,对于3π这个数,是不能表示成上面的级数形式的。为了方便起见,我们把小数点前第一位仍然叫做个位,第二位仍然叫做十位,以此类推。

在这种计数下:

d606bb9786980b1babaf787db3e0d68c.png

剩下的部分是3π-2π-2≈1.14159.....小于π,只能用小数部分实现,但小数部分是不够用的,因为不超过π的最大小数,是每个小数位都取到最大的数码2,也就是

49a9a19c016f2b3e8a396462bd301fe0.png

简单来说,就是一个不等式的问题:

f253f41d4600655cc46308fe4ddb14bb.png

所以光靠0,1,2这三个数码是不够的,有些数表示不出来。

我们再来看看,如果用0,1,2,3这四个数码,还会有上面的问题吗?

没有了。

每个实数x,都能表示成以下形式

d689d693b22b80a0a927f3065f56f8fb.png

比如刚刚的3π,很简单,就是3π。

(by 今日头条:@谈数论理)

接下来看第二个问题:这种表达式唯一吗?找个反例就行。

我们来讨论98的“π进制”表达

首先,注意到以下大小关系

8ed263386df66bfa60004642ae898720.png

于是一方面,

241b4809e4a33c5d090db8e9c169d43c.png

假设在“π进制”下,

e330e08c8a0f1bcb7af0b3022dbab1f3.png

则在“π进制”下,

258aec0c327a188641be38287ad88548.png

另一方面,

730a59aaea1e97914497626791e3b334.png

假设在“π进制”下,

6dc59e9f22e2b6d969ffb8bb50db01d4.png

则在“π进制”下,又有

554a7f41a1c1d60b9cb158ea75df0b19.png

也就是,在所谓“π进制”下,

03307ac33f6f5e845d248e83d2037ecc.png

你们能接受吗?

(by 今日头条:@谈数论理)

而且可以预见到,如果取一个更大的数,那么它的π进制的表达式可能有3种,4种甚至100种。

其实也就是一个方程组正整数解的问题:

假设一个数x,满足

8e868da520801aa9cd2eff4b07212018.png

取定x和b,有多少组解{an}?

说到底,本质上,之所以不存在π进制,是因为所谓“逢π进一”的计数规则根本实现不了。从3到4,肯定需要“进一”的,但你逢到π了吗?计数数码选择了0,1,2,3,根本实现不了“逢π进一”这一最基本的要求!基底选择一个小数,而计数数码是整数,这种不匹配导致进位或退位时总会有一些尾巴残留,这些残留导致不同的基底指数组合形式之间不再“泾渭分明”、相距甚远,而是有了重合。在这种重合下,有些数就可能对应到不同的求和形式,使得它们的表达形式不唯一。

同样的道理,没有1.5进制,没有根号2进制,没有e进制。

进制的底只能是不小于2的正整数。

感兴趣的话,不妨可以挑几个例子自己证明一下,比如根号2进制,看起来就很有趣嘛~~

(by 今日头条:@谈数论理)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值