32 位长与 64 位长
32 bit long vs 64 bit long
本文关键字:位长 更新时间:2023-10-16
我正在研究已迁移到 32 位机器到 64 位机器的项目(与 Python 的 c++ 集成)。在 Python 中,C long 与 Python Integer 映射。所以我无法在 Python 接口(客户端接口)中更改,并且总是从 python 客户端收到溢出错误。它在 32 位机器中工作正常
所以我有以下解决方案
1)在64位机器中将所有长整型转换为int。
2)在 64 位机器中声明 32 位长。
我们是否有任何通用解决方案/头文件,让我可以选择声明 32 位数据类型总是所以我可以用更一般的方式处理这个问题。
我知道这可能是一个小问题,但我无法找到一般的解决方案。
我们是否有任何通用解决方案/头文件,让我可以选择始终声明 32 位数据类型?
是的,有,因为 C99。
#include <stdint.h>
uint32_t foo;
标准 C99(及更新版本)具有<stdint.h>
标头,为 32 位有符号整数(和许多其他类型)定义int32_t
,最近的C++<cstdint>
如果您关心bignums(任意精度数字),请注意这是一个困难的主题,并使用一些现有的库,如GMP。
相关文章:
- 浮动距离为80位长双精度
- 如何对无符号长 int 进行位掩码?
- 是否可以对数组(一长段内存)使用按位运算
- 无符号 int 与无符号长 两者都是 32 位,但我无法在不转换的情况下混合它们......为什么?
- 无符号长,支持 64 位 iOS 和 OSX
- 将长 64 位十进制转换为二进制
- 64 位 G++ 4.6.3 不会在专用函数模板中将长整型视为长整型,即使它们的大小相同。这是一个错误吗?
- 如果传递长类型,32位客户端如何与64位服务器通信
- C++通过长-长指针对double进行逐位操作,中断输出
- 如何在c++中将160位长的位集转换为基数为10的整数
- 查找存储在长位中的最后一个int(1-9)(每个int由4位表示)
- 如何在C++中通过长long逐位循环
- 如何从长 N 位中剪切以获得 int 并对其进行处理(并获得可读的 int)
- 位掩码和长
- C# 相当于 64 位无符号长 C++
- Qt静态构建在虚拟机(win7 32位)上需要很长时间
- 为什么在32位系统上std::size_t是4字节,而在32位和64位系统上无符号长整型都是8字节
- 无符号长的位运算符
- 具有非八位对齐子字段的96位长位域
- 32 位长与 64 位长