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

binary - 一个三位二进制数可以表示多少种不同的状态?(以十进制数给出你的答案)

我现在正在学习网络和操作系统,我的导师给了我们一个测验。这让我有些摸不着头脑。任何帮助都感激不尽。

另一个问题是:“一个四位二进制数可以表示多少种不同的状态?(以十进制数给出你的答案)”

0 投票
2 回答
666 浏览

java - System.out.println() 如何处理二进制数据?

我无法理解以下代码的输出

包乞求;

有人可以解释一下吗?

0 投票
4 回答
28336 浏览

math - 如何找到十进制数的 10 的补码

1056.074 的 10 的补码是多少?

请检查解决方案:

9999.999 - 1056.074 = 8943.925(1056.074 的 9 的补码)

现在将 1 添加到 .074 或 8943?

0 投票
0 回答
117 浏览

c - 在我的 p-adic 算术循环中加入重复检测?

我正在为引用符号表示中的数字实现算术函数,这是p-adic numbers的一种形式。从本文中获取基本思想,我有一个结构和一个构造函数。

这与论文大致相同,但我稍微更改了索引。

使用论文中提出的界限,我可以估计加法结果的位数。

但是一旦达到重复状态,这可能会执行不必​​要的计算。标准化步骤中的计算甚至更多。

在他早期的论文中,Hehner 提出了一种检测重复的算法。

Hehner 终止算法

但是我可以将它合并到我现有的计算循环中而不是进行第二次传递吗?我已经避免了 i 和 j inqadd所以它们在这些循环中的使用不会与我的使用冲突。

其中一些材料之前已发布到comp.lang.c,并且有一个链接视频,它是对整个主题的极好介绍。

0 投票
3 回答
1346 浏览

binary - 为什么 0A0B0C0D 是 32 位字/数字?

在讨论字节序的时候,老师给了我们一个十六进制的字0A0B0C0D,为什么会是一个32位的字呢?

谢谢。

0 投票
5 回答
20060 浏览

python - int(x[,base]) 是如何工作的?

以下代码的输出是:

我无法理解这一点。从 Python 文档中它说:“[, base]”部分是可选的,即它可能需要一个或两个参数。

第一个参数必须是一个字符串,在引号内有一个 int 值。

0 投票
3 回答
5555 浏览

c++ - 直接将两个八进制数相加而不转换为十进制

我试图通过添加相应的数字来添加两个八进制数,但是,当数字总和大于 7 时,我被卡住了。我必须进行进位并将其添加到下一个加法周期. 我无法找到正确的表达式来考虑进位并计算最终总和。

要考虑的另一种情况是八进制数ab的位数不同时,例如:6 和 13(八进制中的 6+13=21 )。我无法为这种条件的 while 循环建立条件(如果两者的位数相同,我可以运行 while 循环,直到它们中的任何一个或两者都变为零)

有人可以帮助/完成以下代码:

0 投票
2 回答
997 浏览

c - How to make a hex to octal converter in C

I'm looking to make a hex to octal convert in C, and right now I'm able to convert a string from hex to binary. Now I'm looking to convert it from binary to octal. I believe that this was the simplest way. This is what I have for now. It's a function being called in a main program. How do I go from now? I'm kind of stuck and any help would be great. Thanks in advance.

0 投票
3 回答
13965 浏览

c - 二进制中1的补码和2的补码的重要性是什么

我正在尝试学习二进制数系统并且几乎是非常新的。我刚刚用一些基本的东西完成了一些关于二进制数对话、加法、减法等的章节。

但现在我看到了一章关于 1 的补码和 2 的补码。我知道什么是有符号数,有符号大小以及二进制数字如何以 8 位、16 位等形式存储在内存中。但问题是我不明白为什么 1 的补码和 2 的补码。还有为什么我们应该使用 2 的补码以及为什么它更好等。

我正在关注一本书,它有转换为 1 的补码和 2 的补码的指南。但是没有什么能解释为什么 1 的补码和 2 的补码。

所以我需要一些帮助来更深入地理解它。任何关于二进制数字系统等的书籍建议都值得赞赏。

提前致谢 罗宾

0 投票
2 回答
1186 浏览

c++ - 如何将非常大的十进制数转换为阶乘数系统?

我想将十进制数转换为阶乘数字系统。

我想这样做是为了找到最多 100 个元素的数组的第 n 个字典排列,例如。A[87]={1,2,3..,87}

我得到了索引'n',我需要在那个位置找到它的字典排列。例如 {1,2,3} 的第二个排列是 {1,3,2}

为此,我正在尝试使用阶乘数字系统。

以下链接提供了有关转换方法的信息。

https://en.wikipedia.org/wiki/Factorial_number_system

如十进制解释(463)给出341010!在阶乘中。

463 ÷ 1 = 463,余数 0

463 ÷ 2 = 231,余数 1

231 ÷ 3 = 77,余数 0

77 ÷ 4 = 19,余数 1

19 ÷ 5 = 3,余数 4

3 ÷ 6 = 0,余数 3

仅当十进制数在 unsigned long long int 等允许范围内时才可以应用此方法。

如果数字不适合整数范围怎么办?

我的测试用例涉及的数量如此之大,以至于它们需要以字符串格式存储。(例如,查找 123456789012345678901234555623344 排列的数组 [100]={1,2,3,4,....100})

我正在尝试用 C++ 解决这个问题。

(在 c++ 中使用 next_permutation() 来达到给定的索引是一种昂贵的方法并且需要很多时间。)