7进位制加法、乘法表

来源:互联网 发布:php网店系统 编辑:程序博客网 时间:2024/06/05 14:33

言:

几天前无意从网上Download了一本电子书,名叫《数学是什么》由【美】R.柯朗、H.罗宾 著,科学出版社1985版。目前,只是浅浅的看了一章不到,即便是这样还是被“书中通俗易懂的语言,深入浅出地叙述许多数学分支的基本概念、实质和分析问题的方法。(以上取自书中内容简介)”所感染、深受启发。遂决定在随后的日子里用一定的时间,好好的通读这本书,希望能够有所收获。鉴于我是一个懒惰的人,今日着一笔墨在博客里留下支言片文,全当记录下我在此书学习过程中的一些感触,仅以此来鞭策我努力的读完此书。

 

注:

如果,你也对此书感兴趣,你可以从这里下载:《数学是什么》。此书,源自网络请不要用于任何商业目地。如果此电子书侵害了某人或机构请于我联系我将尽快删除此书。下面是此书的封面:

正文:

书中讲到了非十进制的计算并列出了七进制运算的加法和乘法表。于是,就想着把它打印出来。通过做这个小程序也回答了书中习题1)作出二十进位制中的加法表、乘法表,并作出一些同样类型的练习。下面是输出的结果截图并附上实现的源代码(C语言)。

现在,让我们用24265,在这里数的符号是七进制中的符号(在十进制中,这相当于18145注1)。乘法规则和十进制中的情形一样。我们开始用45,由乘法表知,得26

 

   我们在个位处写下6并把2“进”到前一位,然后我们求出4*6=33,和33+2=55,我们写下5然后继续以这种方式进行直到全部乘完。把14565630加起来,在个位上我们得6+0=6在十位的地方我们有5+3=11,再写下1并把1记到第百位上,在那我们有1+6+4=14。最后的结果便是265*24=10416注2

   为了核对这个结果,我们可以在十进位制中乘同样的数。10416(七进位制)在十进位制中可以这样写:找7的幂一直到第四位,72=49,73=343,74=2401因此10416=2401+4*49+7+6注3,这是十进位制中的值。通过把这些数加起来,我们就知道在七进位制中的10416等于十进位制中的2601。现在在十进位制中我们用18145,这结果也是2610,所以计算是对的。

   通过上述计算可以断定程序生成的“七进位制加法、乘法表”是正确的。我们把范围再扩大一下来进一步测试这个程序,看是否依然能正确的得出结果。

 

1读者可以证明:在以十为基底变成任何其它基底B(这里是7)的一般规则是,用B连续除以十为基底的整数z(这里是18145),所得的余数将是在以B为基底的系统中的数码,例如

 

1810= (24)7

 

  

2书中原话:“在七位的地方我们有5+3=11,再写下1并把1记到第四十九位上,在那我们有1+6+4=14。最后的结果便是265*24=10416。”书中所说的“七位”、“第四十九位上”,我百思不得其解,凝惑是否为印刷错误,不敢自专请大家甄别。

3各位是否像我一样初看这个式子的时候一头雾水,一时搞不懂这个式了的意义。好在身边的网络,“百度一下”疑惑顿消。书中给出的式子是经过简化的(郁闷!在学习的过程中这种经历我已经不是第一次了,它给我带来的困惑远远大于印刷错误所带来的烦恼。),完整的式了应该如下:

   10416是一个五位数,7的幂:七进制的各位71=0,72=49,73=343,74=2401所以得出:

10416

=(1*2401)+(0*343)+(4*49)+(1*7)+(6*1)

=2401+0+4*49+7+6

=2401+4*49+7+6

 

 

源码:

 

原创粉丝点击