问题标签 [base-conversion]

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 回答
915 浏览

javascript - 无限大小的基础转换?

我正在尝试使用整数数组在 JavaScript 中实现 BigInt 类型。现在每个都有一个 256 的上限。我已经完成了所有整数运算,但我不知道如何将 BigInt 转换为其字符串表示形式。当然,简单的方法是这样的:

但是当 BigInts 实际上变时,我将无法再通过添加进行转换。如何将 base-x 数组转换为 base-y 数组?

0 投票
1 回答
1077 浏览

fibonacci - Zeckendorf 和黄金比例基础之间的转换

Zeckendorf 和 Golden Ratio Base 显然密切相关,但从一个转换到另一个似乎仍然很棘手。我知道 Frougny 和 Sakarovitch 对此进行了研究,但我还没有完全理解这一点。一个问题是黄金比例基础表示在小数点周围相当对称,这表明这些表示可能是上下文无关的。Sakarovitch 和 Frougny 使用“折叠的”黄金比例基数来处理这个问题。通过这种修改后的表示,他们可以使用有限状态传感器进行转换,但我不知道这应该如何工作。

至于黄金比例基础的部分对称性,这与成对出现的根有关(George Bergman(pc)对此有更长的解释)。

关于这两种表示之间的关系,我确实知道的一件事是,对于 d-1...d_i*d_j...d_n 形式的每个黄金比例基本表示(使用 '*' 作为小数点),都有一个对应的涉及斐波那契数的方程:

(等等。有一系列的数字都具有与 4 的黄金比例基本表示相同的 Zeckendorf 位模式)。这肯定看起来应该很有帮助,但是如何呢?

这种模式在 D. Gerdemann,Zeckendorf family identities Fibonacci Quarterly,2008/2009 的组合证明中进行了讨论。

顺便说一句:尽管我在 Fibonacci Quarterly 上发表过一篇论文,但我在这方面完全是个业余爱好者。我的知识有很多空白,包括我要问的空白。

0 投票
5 回答
435 浏览

php - Random string gets repeated?

I have a service on the internet where people post pictures and a short string is generated. Only one can be used ever. However, I am getting into duplicates in the database and I am seeing major problems.

Here's what I am using:

What would be the best way to fix it? Check from the database and keep looping till it doesn't match one? What if every possible solution and it goes in an infinite loop?

0 投票
3 回答
429 浏览

c# - 从以 2 为基数的整数读取和设置以 3 为基数的数字

我的部分应用程序数据包含一组 9 个三进制(base-3)“位”。为了保持数据库的数据紧凑,我想将该数据存储为一个短的。由于 3^9 < 2^15 我可以将任何可能的 9 位 base-3 数字表示为短数字。

我目前的方法是将它作为长度为 9 的字符串来使用。我可以通过索引读取或设置任何数字,这既好又简单。不过,要将其转换为short,我目前正在手动转换为base 10(使用shift-add循环),然后使用 Int16.Parse 将其转换回二进制short。要将存储的值转换回基数为 3 的字符串,我反向运行该过程。所有这些都需要时间,如果可能的话,我想对其进行优化。

我想要做的是始终将值存储为一个短的,并读取并设置到位的三进制位。理想情况下,我将具有从二进制文件中获取和设置单个数字的功能。

我尝试过使用一些位移和 mod 功能,但还没有想出正确的方法来做到这一点。我什至不确定是否有可能不进行完全转换。

任何人都可以给我任何可以帮助解决这个问题的按位算术魔法吗?

0 投票
3 回答
1238 浏览

php - PHP:这个函数会总是生成一个唯一的字符串吗?

下面的函数会始终生成一个唯一的字符串吗?以下函数生成的字符串的长度范围是多少?是否可以改进以产生更多独特性?

谢谢

0 投票
3 回答
323 浏览

php - 优化碱基转换循环

因此,对于我的密码库,我有一个我经常使用的基本转换器。它不是世界上最有效的东西,但它适用于所有输入范围。

大部分工作由回调循环完成:

基本上,它需要一个数字数组$srcBase并将它们转换为一个数字数组$dstBase。因此,一个示例输入将作为结果array(1, 1), 2, 10给出。array(3)另一个示例将array(1, 0, 0), 256, 10给出array(1, 6, 7, 7, 7, 2, 1, 6)(数组的每个元素都是$dstBase.

我现在面临的问题是,如果我输入 2kb 的数据,它需要将近 10 秒才能运行。所以我开始优化它。到目前为止,通过用这个递归循环替换整个结构,我将它缩短到大约 4 秒:

我面临的问题是如何进一步优化它(如果可能的话)。我认为问题在于大输入所需的迭代次数(对于 2000 个元素的数组,从 256 到 10,总共需要 4,815,076 次迭代)。

有什么想法吗?

0 投票
1 回答
799 浏览

php - base_convert 和负数

base_convert() 函数似乎没有保留符号。

例如:

这个的输出是 100

有没有一种方法可以在不丢失符号的情况下转换碱基?

0 投票
2 回答
272 浏览

iphone - 十进制转二进制

我想将十进制数转换为二进制数。我正在使用这种方法:

如果数字“元素”> 0,一切都很好。如果数字<0,则有问题。例如,该方法不能转换数字“-1”。我能做些什么来解决这个问题?提前致谢!!

0 投票
1 回答
2778 浏览

c++ - 用于在十进制和任意基数之间转换的 c++ 模板

是否有允许我在十进制和任何其他基础之间进行转换的 c++ 结构或模板(在任何库中)(就像 bitset 可以做的那样)?

0 投票
3 回答
2638 浏览

scheme - 方案递归(十进制到八进制)

因此,我们班被分配了一项将十进制数转换为八进制表示的作业。我设法只是修补它直到它起作用,但我在理解它为什么起作用时遇到了一些问题。有没有可能以更简单的方式解释递归?谢谢。