问题标签 [uint64]

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

c - C - 旋转一个 64 位无符号整数

今天,我一直在尝试编写一个函数,它应该将给定的 64 位整数 n 位向右旋转,如果 n 为负数,也向左旋转。当然,整数以外的位应在另一侧轮换。

我保持功能非常简单。

可能的输入是:

不幸的是,我无法弄清楚。我希望有人能帮助我。

编辑:现在,代码在线。对不起,花了一段时间。我与编辑有一些困难。但我只是为了向右旋转而这样做。缺少向左的旋转,因为我没有这样做。

0 投票
1 回答
842 浏览

c++ - 如何将大于 uint64 的整数相乘?

上面的代码输出(在我的机器上)18446744073709551615,但我试图将至少有 25 位的数字相乘。如何正确处理大于 2 个整数的乘法uint64

0 投票
1 回答
1124 浏览

ios - NSMutableIndexSet addIndex:方法引发错误

在尝试从 Core Data 中删除一些对象时,我在使用 NSMutableIndexSet 类及其方法“addIndex:”时遇到了一些困难。

在核心数据中,我有文件夹对象,其中包含一组线程对象。每个线程都有一个 threadId 属性,它是一个 uint64_t。我正在尝试为这些线程 ID 创建一个可变索引集,以便我可以枚举它们以删除它们关联的线程。

当我开始尝试将我的 threadId 添加到我的可变索引集中时,我遇到了以下错误:

这没有任何意义,因为我没有像错误所暗示的那样调用方法“addIndexesInRange:”。

此外,“addIndex:”采用 NSUInteger 参数,但从我正在阅读的内容来看,这应该可以与 uint64_t 互换。

这是代码:

谁能告诉我我做错了什么以及如何解决?谢谢

0 投票
1 回答
2160 浏览

c++ - sse unsigned long long 数组的总和

基于浮点向量的 SSE 减少,我尝试对unsigned long long数组求和,但不幸的是没有任何成功。

这应该是完全正确的,但是 gcc 仍然无法编译它。我搜索了答案,但没有找到任何答案。

这就是 gcc 所说的:

你能帮我吗?我真的很感激

谢谢

0 投票
2 回答
177 浏览

c++ - 数字类型之间的 C++ 转换究竟是如何工作的?

在我的代码中,我执行以下操作:

有趣的是,只要 a 是正数,这就像我所期望的那样工作 (a == c),但如果 a 是负数,c 最终会成为一个任意大的正数。(它一定是包裹在某处或某处。)

我的问题是:

  1. 为什么会这样?
  2. 为什么这段代码不违反严格的别名规则?

注意: double 和 uint64_t 在我的系统上是相同的大小。

0 投票
3 回答
756 浏览

c++ - 将数字声明为 uint32 和 uint64 时,将整数转换为二进制显示不同的输出

我试图将整数转换为其等效的二进制表示。

我正在使用以下算法

当我针对例如声明为 uint32_t 的“5”运行此函数时,我得到了正确的结果

但是当我将数字声明为 uint64_t 并将 bitset 的大小更改为 64 位时,结果完全不同

添加代码以执行相同的操作

我看到的结果与我在 uint32 中得到的结果相同,但将一个放在另一个旁边。

这让我想知道 uint64_t 是如何用像 CPP 这样的编程语言实现的?

我试图通过查看stdint头文件来获取更多详细信息,但那里的链接确实帮助了我很多。

在此先感谢您的时间!!

0 投票
1 回答
1316 浏览

c++ - 升压中的无符号长长序列化

我正在使用 g++4.8.1 和 boost 1.55.0 在 linux ubuntu 上编译 c++ 代码。我的程序使用一个类 A,它有一个成员,它是一个无符号长长数组。同一个类还有其他简单的 int 成员。我正在使用 boost 来序列化我的数据。如果我序列化除了A中的表之外的所有代码,我的代码工作和编译都很好。

但是,如果我尝试序列化table,它不会编译。我收到以下错误:

我已经阅读过,如果我使用向量或/和其他数据类型,它会起作用。然而,使用 unsigned long long 的原始数组对我来说(对于速度)至关重要。任何想法 ?

非常感谢您的帮助!

0 投票
4 回答
6265 浏览

c# - 在 C# 中将十进制转换为无符号十进制(或字符串?)

我有一个变量 ,DifferenceAmt它是一个小数。它可以是消极的或积极的。我需要输出 的值DifferenceAmt,但如果它是负数则不带负号,作为字符串。DifferenceAmt我知道如何通过首先检查是否小于零来删除负号,如果是,则从第二个字符开始执行子字符串,但这似乎很麻烦。我尝试DifferenceAmt先转换为 UInt64,

但我不断收到一条错误消息,指出该数字对于 UInt64 来说太大了(例如,即使它是 -10)。我怎样才能做到这一点?

0 投票
2 回答
2507 浏览

c++ - 转换时未在此范围内声明 strtoull?

我在 eclipse CDT 中使用 C++,我试图通过使用将字符串转换为 uint64_tstrtoull但每次我收到以下错误消息 -

下面是我的 C++ 示例

我做错了什么吗?

0 投票
3 回答
166 浏览

c++ - uint64_t 错误地达到了 18,446,744,071,590,568,320

每当我输入 65 岁或以下的年龄时,我会得到一个小于 2,100,000 的数字。但是,当我输入 68 岁或更高的年龄时,结果会立即变为 18,446,744,071,590,568,320,这是 uint64_t 的最大值。我不知道为什么结果会出现这种跳跃。它一直运行良好,直到大约 2,100,000。

这里有几个输出: