问题标签 [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.
c++ - unsigned long long int 的乘法溢出
我对 G++ 5.4.0 编译器中 unsigned long long int 的乘法表示怀疑。为什么即使变量 n 是 unsigned long long int 类型,第一个片段也会溢出?为什么 8 后面的“LL”有效?
请给我一些关键字,我可以更多地了解这个问题。谢谢!
编译器:g++ 5.4.0
c++ - 将 int 转换为 unsigned long long
我正在解决一个问题,其中任务是在用户提到的给定行输出帕斯卡三角形的结果。
https://leetcode.com/problems/pascals-triangle-ii/
我编写了我的解决方案,该解决方案在存储大量阶乘结果时存在问题。
在经历这些问题时,
并通过其他一些来源,我进行了以下更改,这给了我所需的结果。
由于“C”是int类型并且我的向量 v 存储int,我想知道为什么强制转换unsigned long long仍然会给我有效的结果。
javascript - modbus 转换 有符号 long long
我已经成功安装了“node-red-contrib-modbus”,并且使用此函数在 modbus 寄存器上进行浮点转换(4 字节寄存器类型)没有问题:
如何转换“signed long long”(8字节)????
我已经尝试在谷歌上搜索,但问题仍然存在......
c - 架构无关代码
我有这段代码,目的是确定收到的数据包是否有效:
size_t
可能是u_int64_t
因为cpu是64位的。
现在,当file_name_length
有一个值0xFFFFFFFF
(无效)时,则认为该数据包无效。
但是如果因为底层架构而size_t
成为,那么对于相同的值,条件失败,因为值会回绕,并且数据包被认为是有效的。u_int32_t
file_name_length
我怎样才能使这个条件足够通用以在 32/64 位架构上工作?
谢谢!
c++ - 如何在 Turbo C++ 3.2 编译器中使用 long long 关键字
我正在做一些我正在 CPP 中编写程序的嵌入式工作。我的机器有dos平台。在我的程序中,我使用了不起作用的 long long 关键字。我使用的是 turboC++ 3.2 编译器。
我进行了很多搜索,发现 C99 库有 stdint.h 文件,但我怎样才能在我的编译器中使用这个文件。或其他一些编译器来处理嵌入的关键字,这些关键字制作了基于 dos 的可执行文件。
c - C中的大数
我在 C 中实现 RSA。我正在使用"unsigned long long int" (Top limit: 18446744073709551615).
当我必须计算4294967296 ^ 2之类的东西时,问题就来了。它应该是18446744073709551616,但我得到0 (overflow)。我的意思是,我需要计算结果超过上限的事情。
我试过使用 float、double、long double,但结果不正确。
例子:
c++ - 隐式转换:以下警告有效吗?
这个问题隐式类型转换规则在 C++ 运算符(和其他几个)状态
如果其中一个是 long long unsigned int,则另一个提升为 long long unsigned int
但是,如果我在 MSVC 下执行以下操作:
第二行生成以下警告:
32ULL
是一个 64 位无符号值,因此根据隐式转换规则,这应该意味着a
也转换unsigned long long
为。因此,我将 64 位值移动了 32 位,这显然是一个定义明确的操作。
MSVC 有问题还是我的逻辑有缺陷?
c - 十进制到十六进制转换 (C) 不适用于大数
我正在制作一个将十进制转换为十六进制的 C 程序。我的程序似乎适用于较小的数字,例如314156
存储在 long int 但较大的数字,例如11806310474565
or 8526495043095935640
always return back 0x7FFFFFFF
。如何处理或存储大于2147483647
/的数字2^32
。我尝试过使用long long
and unsigned long long
,但是这些在我的代码中不能正常工作。
代码:
我正在gcc
用作编译器。
c - 如何检查输入的数字是否为正?
我只需要读取一个正数 ( unsigned long long
),什么都没有,所以我使用scanf("%llu", &num);
. 但它也允许输入负值。
在这种情况下如何验证正数?用户必须在[0..2^(64)-1]中输入一个正数,但他可能会错过并在相同的间隔内输入一个负值。但是我不能声明一个long long
变量来检查它,因为它可以完全包含2^64 - 1。
c++ - mod功能对我来说不能正常工作
当我输入 36011 时,它会导致第二个输出是 36011 而不是 11,我确保编译器设置正确设置。我真的不知道还能做什么,我必须使用 long long int 来完成这项任务,当我尝试在我的代码中使用 mod 函数时,它对我不起作用。