基极转换器

一位十五世纪的德国商人问一位著名教授,他应该把儿子送到哪里接受良好的商业教育。这位教授回答说,德国大学足以教授这个男孩加减法,但他必须去意大利学习乘除法。在你放纵地笑之前,试着在不首先翻译罗马数字CCLXIV、MDCCCIX、DCL和MLXXXI的情况下,将它们相乘甚至相加。

保罗斯,超越数字

下面的设备在8个不同的底座之间进行转换。另一个设备允许用户指定转换的基础。

 

二元的:

三元:
昆塔尔:
八进制:
十进制的:
十二进制:
十六进制:
基数36:

在任意基数中输入一个数字,若要查看转换,请单击任何其他输入控件。

请注意,任何基数中的位数(也称为基数)N是完全相同的数字N。例如,在二进制中(N=2)系统只有两个数字:0和1;以十进制表示(N=10)有十个:0、1、2、3、4、5、6、7、8、9。如果N超过10怎么办?

如果N>10,缺失的数字来自字母表(通常忽略大小写)。因此A类在任何以大于10为基数的数字系统中,代表十进制10。B类代表以大于11为基数的任何数字系统中的十进制11,依此类推。以下是十六进制(以16为基数)数字的列表:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。

习惯上,十六进制数字的前缀是0x,八进制数字的后缀是0。转换器将接受这种通用符号,但这并不是必需的。

请注意以下内容。在以N为基数的系统中,数字的表示只能由小于N的数字组成。

更准确地说,如果

(1)M=ak个N个k个+一个k-1号机组N个k-1号机组+ ... + 1N个1+一个0

0≤a时<N我们在基N系统中有M的表示,并写入

 M=(a)k个k-1号机组……一个0)N个

如果我们将(1)重写为

(2)M=a0+N·(a)1+N·(a)2+N·…))

求系数a的算法变得更加明显。例如,0=M(型号N)1=(M/N)(型号N),等等(K·阿特金森介绍了his中二进制、十进制和十六进制系统之间的转换细节基本数值分析,John Wiley&Sons,1985。)其他地方我解释了如何在两个递归和迭代方式.

在这里,在转换的一个阶段,我使用了一个内置函数parseInt,它似乎在第一个数字违反此条件时不会返回。这似乎是parseInt函数中的一个错误。请遵守规则:

在以N为基数的系统中,数字的表示只能由小于N的数字组成。

与大多数其他书籍一样,下面的书描述了如何在不同的系统之间进行转换,但很少讨论不同基数的算术运算问题。([阿特金森]演示了加法和乘法在二进制系统中的工作原理。)原因是一切都是一样的。一旦你知道如何在十进制中做到这一点,你就应该知道如何在其他基数中处理同样的事情。然而,这种逻辑对我们大多数人来说没有什么吸引力各种基的算术运算.

工具书类

  1. K.Atkinson,基本数值分析约翰·威利父子公司,1985年
  2. W.Dunham,数学宇宙,John Wiley&Sons,1994年
  3. 牡蛎矿,数论及其历史,多佛出版社,1976年
  4. J.A.Paulos,超越数字,复古图书,1992年

相关材料
阅读更多。。。

  • 整数在整数基中的展开
  • 基数(二进制、十进制等)转换器
  • 基转换算法的实现
  • 不同基数分数的换算
  • 得分:最简单的公平游戏
  • 二进制系统的历史
  • 用Rabinowitz和Wagon的Spigot算法计算圆周率的位数
  • 各种基数的加法和乘法表
  • |联系人| |首页| |目录| |算术| |代数|

    版权所有©1996-2018亚历山大·博戈莫尼

    71895987