问题标签 [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.
python - Cython 除以 long long 导致 Python 崩溃
我在 test.pyx 中有以下代码
在一个简短的 python 脚本中,我有这个:
当我在编译 test.pyx 后运行脚本时,我得到以下输出以及 Windows 错误对话框“python.exe 已停止工作”。
请注意,我从不调用编译后的代码,只导入它。另请注意,崩溃仅在 python 脚本完成执行后发生。我注意到将i从long long更改为 just a long会导致错误消失。我是否缺少一些基本的东西,或者被long long分割并不总是安全的?
有关我的设置的一些信息(如果有影响):
操作系统:Windows 7、64 位
Python 版本:3.4.2,MSC v 1600 32 位
Cython 版本:0.22
编译器:mingw32
编辑:附加说明
- 还在 Python 2.7.9 32 位上进行了测试,结果相同
- 将 / 替换为 // 得到相同的结果
- 如果所有涉及除法的代码都被删除(注释掉、被编译器删除等),错误就会消失
- 即使 Python 在完成时崩溃,编译后的代码在调用时似乎也能正常运行。
c - 128 位机器中“long long”的大小?
在 128 位 RISC-V(或其他 128 位机器)中,C/C++ 中的“long”和“long long”数据类型有多大?
澄清一下:在没有其他实现符合的情况下,编译器的实现者在为这样的机器编写 limits.h 文件时可能期望使用的大小是多少?
c++ - long long 变量不显示正确答案
它的一些误判。
我遇到了大数字的麻烦。此代码适用于一些较小的输入(N
),但100000
不适用于类似的输入。
result
变量when N = 100000
must be 4999949998
but result in this code的正确最终答案是704982702
但tmp
也很长,而且似乎没有溢出。
但一些简单的改变使它正确。
我找不到原因。你知道吗?
c++ - Qt:从 unsigned long long 到 QJsonObject
是否可以使用long long作为QJsonObject的值?我被迫将我的 API 从JSON更改为XML,因为我得到的 1 个字段具有BigInt值,并且显然我无法从QJsonValue中提取大数字。
这是我的代码,可以显示正在发生的事情:
输出:
期望的输出:
我做错什么了吗?谁能帮我找出如何在没有外部库的情况下使其正常工作?谢谢!
c++ - 如何使来自 GCC 的长整型常量警告静音
我有一些使用大整数文字的代码,如下所示:
这会给编译器警告integer constant is too large for 'long' type [-Wlong-long]
。但是,如果我将其更改为:
...我反而得到了警告use of C++11 long long integer constant [-Wlong-long]
。
我想仅针对这一行禁用此警告,但不禁用 -Wlong-long 或对整个项目使用 -Wno-long-long。我试过用以下方法包围它:
但这似乎不适用于此警告。还有什么我可以尝试的吗?
我正在与-std=gnu++1z
.
编辑:评论的最小示例:
建设与g++ -std=gnu++1z -Wlong-long test.cpp
给予test.cpp:6:20: warning: use of C++11 long long integer constant [-Wlong-long]
我应该提到这是在 32 位平台上,带有 MinGW-w64 (gcc 5.1.0) 的 Windows - 第一个警告似乎没有出现在我的 64 位 Linux 系统上,但第二个(带有ll
后缀)出现在两者上。
c++ - Unsigned long long wrong given value after add
I have two strings to add. Strings is HEX values. I convert strings to long long, add and after I back to string. But this operation no working good.
Code:
I received
Anyone can explain me this magic? How can I fix it?
Back to hex value by
c++ - “long long int”类型到二进制“operator%”的操作数无效
我在 C++ 中,我收到此错误:
我不知道为什么,我相信“num”是一个整数,所以我可以使用运算符“%”。
有人知道为什么会失败吗?
谢谢
c++ - 截断整数除法删除
T 如何避免在此代码中截断整数除法?我的排序数组是1 1 1 1 1 1
,所以 a[0] = 1 和 a[n] 应该是 1 / 2 = 0.5。
c++ - C++ 长长的问题
我一直在使用带符号的 long long 并且遇到了奇怪的问题 - 即不一致的行为。IE
这往往会打印与 i 的实际值无关的值(这也发生在 cout 中)。
它还具有随机行为%
,即
这有时会运行,即 ifi = 15
并且x = 5
它不会返回 true,因此 if 语句不会运行代码。
x = 7
由于某种原因,它往往会返回 true 。
我相信这可能是编译器的错误,我认为它只是 g++ 编译器(它是在比赛中)。
任何减轻这种情况或为什么这样做的方法将不胜感激。
c - 如何在 C 程序中使用更大的整数?
我在 Windows 计算机上使用 Codeblocks 和 GNU 编译器。当编译器运行时,它会在以下条件下运行:
我的代码如下:
我对此代码的输出:
引用 LONG LONG 整数的行被注释掉,因为编译器给出了错误:
但是,在键入代码时,CodeBlocks 提供了代码提示,表明我实际上可以使用 LONG_LONG 常量。因此,我需要以下问题的答案:
- 为什么整数和长整数有相同的限制?长整数不应该有更大的值范围吗?
- 为什么我在使用 LONG_LONG 常量时遇到问题?这是否意味着我不能使用 long long 整数?
谢谢