c++将unsigned转换为signed
C++ cast unsigned to signed
我试图复制这个,但它无法编译。
unsigned char x = 0;
reinterpret_cast<signed char>(x);
说C:UsersSXG5558DocumentsArduinosketch_jun30asketch_jun30a.ino: In function 'void setup()':
sketch_jun30a:3: error: invalid cast from type 'unsigned char' to type 'signed char'
reinterpret_cast<signed char>(x);
^
exit status 1
编辑:要清楚,我真的想重新解释内存中的位从有符号到无符号。我正在编写一个读取和写入无符号数据的I2C库,但我使用该库来控制已签名的传感器,因此我想重新解释cast实际数据。
来自cppreference.com的相关部分为
类型别名
当动态类型为DynamicType的对象的指针或引用被reinterpret_cast(或c风格强制转换)为不同类型AliasedType的对象的指针或引用时,强制转换总是成功,但产生的指针或引用只能用于访问对象,如果满足以下条件之一:
[…]
- AliasedType是DynamicType的(可能是cv限定的)有符号或无符号变体
[…]
ie。您忘记了您链接的示例中的&
。
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 在c++中使用nlohmann从类到json的转换
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 复制列表初始化的隐式转换的等级是多少
- 正在将指针转换为范围
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 在 sprintf 中从 'signed char*' 到 'char*' 的转换无效
- HEVC 解码器端口 Android 警告:从 'signed char*' 到 'char const* 的转换无效*
- 在unsigned int和signed int之间进行安全转换
- c++将unsigned转换为signed