问题标签 [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 投票
3 回答
4151 浏览

php - 如何在 PHP 中将 base64 转换为 base10?

我目前在 PHP 中将 base10 数字转换为 base64。但我不知道在php中将base64转换为base10!

我该怎么做?

我将base10转换为base64的算法:

0 投票
1 回答
12287 浏览

algorithm - 将一个非常大的数字从十进制字符串转换为二进制表示?

我有一个非常大的数字,大约有一千个十进制数字,我必须将它转换为它的二进制表示。数字存储为字符串。

由于很少有语言具有处理这么大的数字的基本数据类型,因此我认为没有简单的方法可以将其转换为可以转换的整数值。

有人可以帮我吗?这样做的可行方法是什么?

0 投票
1 回答
1454 浏览

php - 计算置换的阶乘秩(N 选择 K)

我最近了解了CNSFNS,因为它们对我来说看起来很优雅,所以我决定尝试实现使用这些技术生成组合和排列的方法。我完成了从n 选择 k组合转换为 CSN 等级的方法,反之亦然,但我正试图用n 选择 k(唯一)排列做同样的事情。

感谢@Joshua,我得到了unranking (FNS to permutation) 方法:

这是我目前对排名(排列为 FNS)方法的尝试:

这些是我正在使用的辅助函数:


问题是,Pr_Rank()n = k方法仅在( demo )时返回正确的排名

我使用上面链接的维基百科文章和这篇 MSDN 文章指导自己,我知道他们都不考虑 k 大小的子集,但我完全不知道这种逻辑会是什么样子......

我也尝试过谷歌搜索和搜索现有的问题/答案,但还没有出现任何相关的问题。

0 投票
1 回答
428 浏览

base-conversion - 小数位数组的基本转换

我正在尝试实现一种算法来将表示数字小数部分的数字的整数数组从一个基数转换为另一个基数。换句话说:

有一个建议的算法,其措辞如下:

对于(i < 精度 B):

  1. 保持进位,初始化为0。
  2. 从右到左

    一种。x = 将第 i 位乘以 baseB 并加上进位
    b。新的第 i 个数字是 x % baseA
    c。进位 = x / baseA

  3. 输出[i] = 进位

但是当我实现这个时,对于长于 3 位的数组,第二位总是偏离一点。对于上面的示例,它将返回{1, 3, 6, 2, 5}. 以 2为底的输入{0, 1}将以{2, 5}10 为底正确返回。

我认为我没有正确理解 2b。似乎您已经完成了输入数组中的第 i 个数字,替换它应该没关系?

这是我的代码:

这是来自麻省理工学院的 6.005课程,问题集 1。

0 投票
2 回答
38366 浏览

c++ - 以 10 为基数到 n 基数的转换

我正在尝试编写一个进行基本转换的 C++ 程序。

我想将十进制数转换为从 2 到 20 的所有其他整数基数。

是否有一种高效且易于实现的基本转换算法?

0 投票
3 回答
2306 浏览

objective-c - 在 Objective-C 中将八进制字符串转换为十进制?

我试图在 Objective-C 中进行二进制、八进制、十进制和十六进制之间的转换。我在将八进制转换为十进制时遇到问题。

我尝试了以下方法:

它工作正常,按预期返回 63,但我的八进制值是一个 NSString。我怎样才能告诉计算机它是八进制的?

我知道有一种叫做“scanHexInt:”的方法,我用来将十六进制转换为十进制,但似乎没有scanOctInt ...

任何帮助,将不胜感激!

0 投票
2 回答
7439 浏览

assembly - 在 x86 中将 ASCII 十六进制数转换为 32 位二进制整数

所以我正在读取用户的 8 位输入,并将其保存到一个变量中。例如:

输入一个 8 位十六进制数:1ABC5678

所以,然后我循环遍历 1ABC5678 十六进制数,从数字 0-9 中减去 48,从 AF 中减去 55,以获得输入的数字表示。但这似乎是错误的。我的目标是将 8 位十六进制转换为八进制。我已经知道如何从二进制转换为八进制,那就是通过屏蔽和移动 32 位二进制数字。但我的问题是我获取二进制文件的方法是错误的。

我在英特尔 IA-32 上编码。x86。

更新数据

现在我得到了一个 32 位二进制变量名二进制文件。我想将其转换为八进制。关于如何移动 3by3 以获得正确的八进制数的任何想法?

到目前为止,这是我的代码:

0 投票
1 回答
243 浏览

base-conversion - 基数-2是什么意思?

谁能帮我理解什么是base -2?我了解正整数的基数,并且知道如何将十进制数转换为这些基数,但实际上对负基数一无所知。

0 投票
0 回答
154 浏览

string - 将基数 B 中的数字转换为二进制

我有一个非常大的字符串(大约 1000 个字符),它以 B 为基数。

由于我不能使用任何算术运算符,因此将其转换为二进制表示的最佳方法是什么。

这是一个面试练习题,我只是想弄清楚我关于位操作的基础知识。

0 投票
2 回答
2461 浏览

c++ - How to convert string to int with different bases?

I want to convert string to int but the conversion has to consider the prefixes 0x or 0 if any and consider the input as hex or oct respectively. Using istringstream, you need to explicitly specify the base. Is there any way than explicitly coding to check for characters 0x?

Edit: The conversion should implicitly find the base based on the prefix. Just like int i = 0x123; does.