问题标签 [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 VS unsigned long long int
我想知道 unsigned long long 和 unsigned long long int 的主要区别。它们可以互换使用吗?
对于涉及像 9223372036854775807 这样的大十进制数的计算,首选哪一个?谢谢。
c - C unsigned long long 在数组中的另一个溢出
假设我有一个数组unsigned long long
,有没有办法将溢出放在下一个ull
?我想要确切的数字,所以不能选择加倍。现在这就是我所拥有的:
c++ - 如何在 C++ 中生成不同的大随机数/键
在 c++ 中生成非常接近 pow(2, 64)-1 的大随机数。
解释这个问题,假设我们应该生成 n 个随机数,其中大部分都很大,并将它们存储在一个数组中。
c - 检查 unsigned long long 是否可用
unsigned long long
如果该类型在当前构建环境中可用,我如何通过预处理器指令检查?
我试着检查
但是使用 gcc 并且至少没有-std=
-compiler 参数进行编译会导致“不可用”(但会起作用)。
是否有更好的宏来检查,以便至少它可以与 C99 标准编译器和没有 GCC 的 GCC 一起使用-std=C99
?
c++ - 我可以使用无符号长长数组吗
我试图在hackerrank上解决这个问题。
给你四个整数:N,S,P,Q。您将使用它们来使用以下伪代码创建序列。
您的任务是计算序列中不同整数的数量。
这是我在 C++ 中的解决方案。大多数时候我遇到分段错误。我知道这应该使用位数组来解决。但想知道为什么这不起作用。
java - 将 unsigned long 值存储在两个 16 位寄存器中
我想将 unsigned long 值存储在两个 16 位寄存器中。例如,如果我有 long 值(-2,147,483,648 to 2,147,483,647)
,那么我使用的公式如下:
从寄存器中获取值
但是如何为 unsigned long 哪个值范围来自0 to 4,294,967,295?
swift - 如何在 Swift 中从负数变为零
我有Double
数据类型,因为我需要浮点数的结果,但如果我的结果是否定的,它会破坏我的所有算法。是否可能存在带浮点的无符号数据类型?
c++ - C++ 在 unsigned long long int 值中的奇怪跳转
我有以下问题,实际上来自我最近参加的编码测试:
问题:
存在一个函数f(n) = a*n + b*n*(floor(log(n)/log(2))) + c*n*n*n
。
在一个特定的值,让f(n) = k
;
给定k, a, b, c
,找到n
。
对于给定的 值k
,如果不n
存在值,则返回 0。
限制:
这里的逻辑是,由于f(n)
对于给定的 a、b 和 c 纯粹是增加的,我可以n
通过二进制搜索找到。
我写的代码如下:
然后我用一些测试用例进行了尝试:
然后奇怪的事情发生了。
该代码适用于测试用例n = (unsigned long long)pow(2,63)-1;
,正确返回 n 的值。但它没有为n=1000
. 我打印了输出并看到以下内容:
在数学上似乎有些不对劲。的值怎么f(1000)
大于 的值f(33554432)
?
所以我在 Python 中尝试了相同的代码,得到了以下值:
所以,价值肯定更大。
问题:
- 究竟发生了什么?
- 我该如何解决?
c - 是否需要 L 和 LL 整数后缀?
来自标准草案 N1256,第 6.4.4.1 节,第 5 条:
整数常量的类型是可以表示其值的对应列表中的第一个。
从表中,似乎没有后缀的八进制和十六进制常量将被分配任何标准整数类型(signed
/unsigned
和int
/ long int
/的最小合适组合long long int
)。对于十进制常量,signed
默认情况下只考虑类型。
u
为什么/U
存在对我来说很有意义;有符号溢出行为充其量与无符号溢出行为不同,最坏的是UB,所以我想可能有必要在复杂的表达式中指定文字的无符号性。
这给我们留下了L
/l
和LL
/ll
后缀。它们只能用于选择整数文字类型的下限。这在 C99 中有什么实际用途?
c - long long int 数的模
嗨,我在 c 中尝试了一个代码,并考虑到以下代码行中的所有变量都是“long long int”,
钱=(钱% 1000000007)+(((2*pow(abs(a[i]-a[j]),k))%1000000007) % 1000000007);
我收到一个错误,指出
error: invalid operands to binary % (have 'double' and 'int')
money=(money % 1000000007)+(((2*pow(abs(a[i]-a[j]),k))%1000000007))) % 1000000007);
^
我不明白这种情况下的错误是什么意思,因为我没有使用双精度。我能得到一个简短的解释吗?