问题标签 [number-systems]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
75 浏览

precision - 浮点数表示

在此处输入图像描述

这是 1996 年提出的相当古老的问题,因此请忽略错误。

这里的指数是 8 位,那么我们将偏置为 128 对吗?但如何进一步解决问题,请帮忙。

0 投票
1 回答
92 浏览

precision - 数字系统中的浮点表示

在此处输入图像描述

我不知道如何解决这个问题,我知道浮点数的显式、隐式和 IEEE-754 规范化表示,但如何将其分解为小问题。请帮我想象一下。

0 投票
1 回答
314 浏览

binary - 当两个变量进行逻辑比较时,检验等价的逻辑门是?使用逻辑门

当两个变量进行逻辑比较时,测试等价的逻辑门..如果异或请解释为什么?如果 XNOR 请解释为什么?

0 投票
0 回答
5919 浏览

javascript - 如何在单词/字符串中将数字转换为印度系统

我需要提供一种准确可靠的方法,将数字转换为印度编号系统(在印度次大陆国家使用)的官方文件中使用的单词。

结果应该用于需要计数的任何主题(不仅是货币)。

该任务要求,除了官方编号系统之外,还可以选择使用通用系统(即使用 10 万卢比系统)生成结果。

过去一周我一直在搜索和搜索这个,包括stackoverflow

以下 StackOverflow (javascript-tagged) 在其标题和/或内容中带有问题和帖子,参考了印度数字或货币,但不同且非常古老(大多数超过 7 到 9 岁)并且不回答我的问题或帮助我(并且在结果上大多是相互矛盾的,这增加了混乱):

  1. 如何将数字转换为印度货币格式的单词所有这些都不同。
  2. Javascript 函数将印度货币数字转换为带有 paise 支持不同主题的单词。
  3. 使用javascript数字到单词(印度编号系统)

我遇到的问题是我不习惯这样的编号系统,并且无法确认我所做的任何编码都会产生正确的结果,因为我不是来自那个地区。

根据这篇解释印度编号系统的 wiki 文章,我创建了以下汇总表(希望是正确的)(根据我的理解)将其转换为步骤/流程逻辑,然后可以将其转换为适当的代码。

在此处输入图像描述

因此,基于上述(以及我对主题的理解),我制定了以下javascript函数来处理:

  1. 官方编号系统,以及
  2. 通用编号系统,以及
  3. 如果需要印度货币。

我尝试(尽可能)使用 ES6 关键字和函数。

生成常用文本时,会在每个 Siptlet 文本之间插入一个“逗号”,因为输出很长且难以理解。但是,如果不需要,可以在编码的第 8 行删除此逗号。

我还包含 2 个测试用例代码来测试两个编号系统。

可以为 Common-Use 调用该函数,如下所示:

对于官方系统:

还增加了一个额外的函数 numberCurrencyInd() 将数字转换为印度货币“卢比和派萨”,并且可以使用官方或通用系统作为选项使用调用参数(类似于数字转换函数)。

添加了两 (2) 个额外的休息案例以测试两个系统下的货币生成。

但是,我需要以下帮助和帮助,而我在其他地方找不到答案:

  1. 使用 Lakh-Crore 系统的编号系统是否正确?
  2. 输出结果是否在印度次大陆使用且正确。
  3. 何时使用官方系统和通用系统(十亿)。
  4. 当我用完秤时,“shankh”之后的秤名是什么。
  5. 我们写复数比例名称是否带有额外的“s”?即我们是否像英语系统中那样说“三亿,二十万”或“三亿,二十万”?卢比和比萨也是如此。
  6. 将通用系统作为函数调用的默认值是否正确或合适?
  7. 通过重复单词“crore”来增加数字的通用系统的顺序是否正确;即“千万千万”然后是“千万千万”等等?

提前感谢您提供的任何帮助

函数的一些内部工作是:

对于那些感兴趣的人:

以下行将数字转换为 Siptlets (7s) 的数组元素(固定大小 7 位),以用于通用编号系统:

Num = ("0".repeat(6*(Num+="").length % 7) +Num).match(/.{7}/g);

以下行将数字转换为 1 Triplet 的数组元素,然后是 Duplets,用于官方和通用编号系统:

如果请求通用系统,则首先将数字转换为 Siptlets(7's),然后为每个 Siptlet 调用内部函数以使用 Triplet/Duplets 生成单词。

但是,如果相反,请求官方系统,则立即调用内部函数以使用 Triplet/Duplets 生成单词。



0 投票
3 回答
575 浏览

javascript - 我如何在javascript中随机生成一个二进制数?

我正在制作一个简单的程序,在其中进行数字系统转换测验,但我不知道如何在 Javascript 中生成二进制数。

用户选择他/她喜欢什么样的转换。(例如:二进制到十进制,十进制到十六进制等)它还询问用户想要多少问题,并在单击“进行测验”按钮后继续生成问题。

这就是我的程序的样子: 图片

它仍然是一个非常粗略的草稿,所以它看起来不太好哈哈

0 投票
1 回答
643 浏览

c - 使用C中的递归将十进制数转换为二进制

我有这个代码。代码一切正常。唯一的事情是,当函数 convert() 被递归调用时,我不明白为什么我们在最后第二行乘以 10

谁来帮帮我。提前致谢。

0 投票
1 回答
70 浏览

math - 小数如何转换为点分十进制

是将十进制转换为十六进制然后再转换为点分十进制的方法。它是否总是必须是 10 位十进制。

0 投票
2 回答
370 浏览

c# - 直接减去两个八进制数而不转换成十进制

如何进行减法?

确定停止条件 - 您希望您的 while 循环继续进行,直到数字 a、b 和进位都变为零。换句话说,条件应该是 || 乙 || 携带

将下一位数字添加到总和中 - 由于结果编码为十进制,因此您需要将数字 d 乘以下一个连续的十的幂。一种简单的方法是添加一个新变量 m,它从 1 开始,每次迭代乘以 10。

有人可以帮忙做减法吗:

0 投票
1 回答
969 浏览

algorithm - 如何找到第 x 个十进制数?

Hackerrank 有一个称为十进制数的问题,它本质上是具有 0-9 位数值的数字,但使用 2 的幂进行幂运算。问题要求我们显示第 x 个十进制数。这个问题还有另一个转折点。多个十进制数可以等于同一个十进制数。例如,十进制的 4 可以是十进制的 100、20、12 和 4。

起初,我认为找出给定十进制数有多少个十进制数会很有帮助。我查阅了这篇文章以获得一些帮助(https://math.stackexchange.com/questions/3540243/whats-the-number-of-decibinary-numbers-that-evaluate-to-given-decimal-number)。这篇文章有点难以理解,但后来我也意识到,即使我们有一个十进制数可以有多少个十进制数,这也无助于找到它们(至少据我所知),这是最初的目标问题。

我确实意识到,对于任何十进制数,它的最大十进制数只是它的二进制表示。例如,对于 4,它是 100。因此,蛮力方法是检查每个十进制数在此范围内的所有数字,看看它们的十进制表示是否计算为给定的十进制数,但很明显,这种方法永远不会由于输入约束将 x 定义为从 1 到 10^16,因此通过。不仅如此,我们还必须为 aq 数量的查询找到第 x 个十进制数,其中 q 从 1 到 10^5。

这个问题属于 dp 部分,但我很困惑如何使用 dp 或者它是如何可能的。为了计算第 x 个十进制数 q 次(在上面的蛮力方法中进行了描述),最好使用一个表格(就像问题所暗示的那样)。但为此,我们需要存储和计算 10^16 个整数,因为这就是 x 的大小。假设一个整数是 4 字节,4B * 10^16 ~= 4B * (2^3)^16 = 2^50 字节。

有人可以解释一下如何以最佳方式解决这个问题。我还是 CP 的新手,所以如果我在某些方面犯了错误,请告诉我。

(有关完整的问题陈述,请参见下面的链接): https ://www.hackerrank.com/challenges/decibinary-numbers/problem

0 投票
0 回答
42 浏览

c++ - 此 C++ 程序存在问题(十进制到 Bin、Oct 和 Hex 转换器)

我想做的是,创建一个程序,将十进制值转换为其他数字系统(二进制、八进制和十六进制)并显示原始十进制值以及转换后的值。

它在第一次运行时运行良好,但是当外部 for 循环再次运行程序时,内部 for 循环打印的先前值也会在下一次运行的输出之后立即打印。有什么建议么?

尝试运行它,然后自己看看...源代码:-