如何使用字符值作为有符号变量 我在ARDUNO IDE中编码,所以基本上是C++。我需要使用一个只有1字节的变量进行传输,但我需要对它进行签名
更具体地说,我需要发送一个int2byte,但这个int有两个值,一个是一个字节,因为我不关心符号,因为它总是正的,但另一个我需要它包含负数 我正在做这样的事情如何使用字符值作为有符号变量 我在ARDUNO IDE中编码,所以基本上是C++。我需要使用一个只有1字节的变量进行传输,但我需要对它进行签名,c++,variables,arduino,C++,Variables,Arduino,更具体地说,我需要发送一个int2byte,但这个int有两个值,一个是一个字节,因为我不关心符号,因为它总是正的,但另一个我需要它包含负数 我正在做这样的事情 turn = -120 int PromedioD_turn = PromedioD << 8 | (turn & 0b11111111); Serial.println("test"); Serial.println(PromedioD); Serial.println(turn & 0b11111111
turn = -120
int PromedioD_turn = PromedioD << 8 | (turn & 0b11111111);
Serial.println("test");
Serial.println(PromedioD);
Serial.println(turn & 0b11111111,DEC); //this is printing as 136
Serial.println(PromedioD_turn);
我不明白为什么或如何解决这个问题,我需要能够发送值,并在以后将其分解。多亏@bolov使用int8\t,我可以将其转换为带符号的值
int PromedioD_turn = PromedioD << 8 | turn & 0b11111111;
Serial.println("test");
Serial.println(PromedioD);
Serial.println(turn);
Serial.println(PromedioD_turn);
Serial.println(int8_t(PromedioD_turn &0b11111111));
int8\t或签名字符