问题标签 [unsigned-long-long-int]

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 投票
0 回答
210 浏览

c++ - unsigned long long int 的乘法溢出

我对 G++ 5.4.0 编译器中 unsigned long long int 的乘法表示怀疑。为什么即使变量 n 是 unsigned long long int 类型,第一个片段也会溢出?为什么 8 后面的“LL”有效?

请给我一些关键字,我可以更多地了解这个问题。谢谢!

编译器:g++ 5.4.0

0 投票
2 回答
4429 浏览

c++ - 将 int 转换为 unsigned long long

我正在解决一个问题,其中任务是在用户提到的给定行输出帕斯卡三角形的结果。

https://leetcode.com/problems/pascals-triangle-ii/

我编写了我的解决方案,该解决方案在存储大量阶乘结果时存在问题。

在经历这些问题时,

整数类型可以在 C++ 中存储的值范围是多少

unsigned long long 有多少字节?

并通过其他一些来源,我进行了以下更改,这给了我所需的结果。

由于“C”是int类型并且我的向量 v 存储int,我想知道为什么强制转换unsigned long long仍然会给我有效的结果。

0 投票
0 回答
583 浏览

javascript - modbus 转换 有符号 long long

我已经成功安装了“node-red-contrib-modbus”,并且使用此函数在 modbus 寄存器上进行浮点转换(4 字节寄存器类型)没有问题:

如何转换“signed long long”(8字节)????

我已经尝试在谷歌上搜索,但问题仍然存在......

0 投票
1 回答
62 浏览

c - 架构无关代码

我有这段代码,目的是确定收到的数据包是否有效:

size_t可能是u_int64_t因为cpu是64位的。

现在,当file_name_length有一个值0xFFFFFFFF(无效)时,则认为该数据包无效。

但是如果因为底层架构而size_t成为,那么对于相同的值,条件失败,因为值会回绕,并且数据包被认为是有效的。u_int32_tfile_name_length

我怎样才能使这个条件足够通用以在 32/64 位架构上工作?

谢谢!

0 投票
2 回答
709 浏览

c++ - 如何在 Turbo C++ 3.2 编译器中使用 long long 关键字

我正在做一些我正在 CPP 中编写程序的嵌入式工作。我的机器有dos平台。在我的程序中,我使用了不起作用的 long long 关键字。我使用的是 turboC++ 3.2 编译器。

我进行了很多搜索,发现 C99 库有 stdint.h 文件,但我怎样才能在我的编译器中使用这个文件。或其他一些编译器来处理嵌入的关键字,这些关键字制作了基于 dos 的可执行文件。

0 投票
3 回答
2472 浏览

c - C中的大数

我在 C 中实现 RSA。我正在使用"unsigned long long int" (Top limit: 18446744073709551615).

当我必须计算4294967296 ^ 2之类的东西时,问题就来了。它应该是18446744073709551616,但我得到0 (overflow)。我的意思是,我需要计算结果超过上限的事情。

我试过使用 float、double、long double,但结果不正确。

例子:

0 投票
1 回答
342 浏览

c++ - 隐式转换:以下警告有效吗?

这个问题隐式类型转换规则在 C++ 运算符(和其他几个)状态

如果其中一个是 long long unsigned int,则另一个提升为 long long unsigned int

但是,如果我在 MSVC 下执行以下操作:

第二行生成以下警告:

32ULL是一个 64 位无符号值,因此根据隐式转换规则,这应该意味着a也转换unsigned long long为。因此,我将 64 位值移动了 32 位,这显然是一个定义明确的操作。

MSVC 有问题还是我的逻辑有缺陷?

0 投票
3 回答
525 浏览

c - 十进制到十六进制转换 (C) 不适用于大数

我正在制作一个将十进制转换为十六进制的 C 程序。我的程序似乎适用于较小的数字,例如314156存储在 long int 但较大的数字,例如11806310474565or 8526495043095935640always return back 0x7FFFFFFF。如何处理或存储大于2147483647/的数字2^32。我尝试过使用long longand unsigned long long,但是这些在我的代码中不能正常工作。

代码:

我正在gcc用作编译器。

0 投票
2 回答
668 浏览

c - 如何检查输入的数字是否为正?

我只需要读取一个正数 ( unsigned long long),什么都没有,所以我使用scanf("%llu", &num);. 但它也允许输入负值。
在这种情况下如何验证正数?用户必须在[0..2^(64)-1]中输入一个正数,但他可能会错过并在相同的间隔内输入一个负值。但是我不能声明一个long long变量来检查它,因为它可以完全包含2^64 - 1

0 投票
1 回答
131 浏览

c++ - mod功能对我来说不能正常工作

当我输入 36011 时,它会导致第二个输出是 36011 而不是 11,我确保编译器设置正确设置。我真的不知道还能做什么,我必须使用 long long int 来完成这项任务,当我尝试在我的代码中使用 mod 函数时,它对我不起作用。