c++ - 可移植的有符号/无符号字节转换,C++

标签 c++ casting portability unsigned signed

我正在使用有符号到无符号字节(int8_t)转换来打包字节。

uint32_t(uint8_t(byte)) << n

这可以在 Intel Linux 上使用 GCC 运行。对于其他平台/编译器(例如 PowerPC)是否可移植? 有更好的方法吗?在我的例子中使用 bitset 是不可能的。 我通过 boost 使用 stdint

最佳答案

它不可移植,因为类型 uint32_t 和 uint8_t 不是 C++ 标准的一部分。所有此类操作本质上都依赖于实现。

关于c++ - 可移植的有符号/无符号字节转换,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1862453/

相关文章:

c++ - 是否可以从任意迭代器(C++)中获取值类型?

c++ - 将txt文件保存为变量名

C++ 在派生类和基类中使用同名的两个变量

c# - 是否有关于将现有 .NET 类库转换为可移植库的指南?

c - 可移植 C 二进制序列化原语

c++ - 二进制文件和兼容性标准信息 - C++/JAVA

c++ - 对于 NULL 指针,我应该使用 NULL 还是 0?

c++ - openCV 滤波图像 - 用局部最大值替换内核

Kotlin:将 double 型转换为整数时出现 ClassCastException?

c# - 创建 RDP 连接时出现转换错误