我试图复制这个,但它无法编译。
unsigned char x = 0;
reinterpret_cast<signed char>(x);
它说
C:\Users\SXG5558\Documents\Arduino\sketch_jun30a\sketch_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库,用于读写无符号数据,但我使用该库来控制有符号传感器,因此我想重新解释实际数据的类型。
reinterpret_cast<unsigned char&>(x);
。注意&
符号。 - 463035818_is_not_a_number(signed char)x
转换即可。 - pm100