问题标签 [long-long]
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++ - C ++中的“Int”乘法与“long long”结果
我试图找到 a 的平方int
。我的代码如下所示:
结果应该是6049417284
但是当我检查它显示的输出时1754449988
。我在做什么错误?
long long
应该能够存储结果,但为什么我得到不同的值?
c - 在 LP64/ILP64/LLP64 数据模型下选择 'long' 与 'long long' 作为 64 位类型?
long
我试图了解使用或选择内置 64 位数据类型的要求long long
。我无法理解long
vs的类型等效性和对齐要求long long
。
long
在 LP64/ILP64/ LLP64long long
数据模型下选择 64 位类型时,最佳实践或标准是什么?
这里有一些相关的问题。它们完全涵盖了其他主题,例如sizeof(long) <= sizeof(long long)
,但它们并没有完全处理等价或对齐期望。它们还严重依赖非内置类型,例如uint64_t
.
- UNIX 系统 - 64 位和数据大小中立
- c/c++ 中的 unsigned long/long/int 有什么区别?
- 最好在 64 位中使用 long 或 long long
- 在 64 位数据模型上指定 64 位无符号整数文字
背景信息是类似于下面的代码来选择一个内置的 64 位类型来使用:
i686 和 ARMv7 及以下版本可以使用typedef my_u64 unsigned long long
.
第一个问题案例
在 x86_64 (AMD64) 机器上,如果 typedef my_u64 unsigned long
有效(由于LP64
),则会导致编译错误:
第二个问题案例
在 Aarch64 (ARM64) 机器上,如果 typedef my_u64 unsigned long long
有效(修复 x86_64 错误),则会导致编译错误:
c - 如何将长长的 C 宏桥接到 Swift?
在 Foundation 中有一个 C 宏NSURLResponseUnknownLength
定义为long long
:
由于宏桥接到 Swift 的方式,这个常量可以在 Objective-C 应用程序中访问,但不能在 Swift 应用程序中访问。如何使这些宏对 Swift 可见?
我尝试将宏包装在桥接头中的全局 C 函数中:
但是访问getNSURLResponseUnknownLength()
会导致Undefined symbols for architecture
构建错误。
c++ - Visual Studio 中的 long long 值
我们知道 -2*4^31 + 1 = -9.223.372.036.854.775.807,可以存储在 long long 中的最低值,正如这里所说:整数类型可以在 C++ 中存储的值范围。所以我有这个操作:
为什么它显示 -9.223.372.036.854.775.808 而不是 -9.223.372.036.854.775.803?我正在使用 Visual Studio 2015。
c++ - 如果在我的机器上 sizeof(long) == sizeof(long long),为什么它们不是同一类型?
如果我运行:
在我的机器(和 Coliru)上,我得到:
不仅如此std::is_same<>
;期望实例化int64_t
失败的翻译单元,因为我只为另一个翻译单元编译int
并long long int
在另一个翻译单元中编译,尽管这一切都发生在同一台机器上。
为什么这些类型不一样?我的意思是,表现出与typedef
's 相同类型的行为?
c - 当我将数据数组从浮点类型转换为长长时,Diab 编译器面临未定义符号链接器问题
我编写了一个小示例代码并在 GCC 和 DIAB 编译器中执行。
GCC 编译器的输出是:
0.000000 0 1.256000 1 2.512000 2 3.768000 3 5.024000 5 6.280000 6 7.536000 7 8.792000 8 10.048000 10 11.304000 11
DIAB 编译器中的问题是:
dld.exe:警告:文件 'sfpfftoll.o(C:\WINDRI~2\diab\580~1.0-3\PPCVLEES\libimpfp.a)'中的未定义符号 '__asr64' dld.exe:警告:未定义符号 '__lsl64 '在文件 'sfpfftoll.o(C:\WINDRI~2\diab\580~1.0-3\PPCVLEES\libimpfp.a)' dld.exe: 错误: 未定义符号 - 没有输出写入 make.exe: *** [..\output\bin\xxxxxxx.elf] 错误 1
是否有任何解决方法可以将浮点数组转换为 long long int 数组?我尝试使用指针,但仍然面临相同的链接器问题。
c - 在 C 中检查溢出 long long
我想检查变量 from在 C 语言中fgets
是否溢出。ling long int
我试过这个:
但它不起作用,因为long long int
会收到太多的数字;它回到LLONG_MIN
+过剩(我认为是这样)。
c++ - 3 * 1000000000 作为 int 溢出,但变量是 long long。为什么?
我有一个简单的 c++ 应用程序,它执行以下计算
如果我写下每个计算的结果,我会得到以下输出:
那么为什么第二次计算会失败呢?据我所知,它在 long long 类型的范围内(calcThree 更大......)。
我在 Windows 10 上使用 Visual Studio 2015。提前致谢。
c - 在 C 中扫描 long long int 时出现分段错误
我正在尝试编写一个简单的程序来计算两个数字的公因数。我在扫描第二个数字时遇到分段错误(核心转储)。我不明白故障在哪里?
c++ - Visual Studio 是否正式支持 __int64 的“%lld”格式说明符?
根据本文档 https://msdn.microsoft.com/en-us/library/tcxf1dw6(v=vs.140).aspx程序员应该使用%lld和__int64变量printf long long变量%I64d。
根据这个文件https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx __int64只是long long的另一个名字。
那么为什么第一个文档不直接说%lld也可以用于__int64呢?VS 团队是否认为未来__int64会与long long不同?我无法想象如果他们关心向后兼容性会发生这种情况......
谢谢