我在xcode中使用objective-c。如何将 uint8_t 数据转换为十进制二进制补码?范围是 -127 到 127,对吗?
如果我有:
uint8_t test = 0xF2
我可以使用内置的功能或方法吗?有人有简单的功能吗?
谢谢!
我在xcode中使用objective-c。如何将 uint8_t 数据转换为十进制二进制补码?范围是 -127 到 127,对吗?
如果我有:
uint8_t test = 0xF2
我可以使用内置的功能或方法吗?有人有简单的功能吗?
谢谢!
这是做你想做的吗?
int8_t twosComplement = (int8_t)test;
这个问题似乎有点混乱。它要求转换为十进制 2 的补码,但 2 的补码仅在二进制中有意义,而不是十进制。
如果您想将 unit9_t 值转换为有符号值,您可以 - 将其转换为某种有符号类型,如下所示: (int16_t)unsigned8variable - 将其分配给具有有符号类型的变量
但是,请注意溢出。您的 uint8_t 值可以是 0 到 255 之间的任何值。如果分配给 8 位有符号类型,则表示值从 -128 到 +127,任何大于 127 的原始值都会突然出现负数。选择一个足够大的类型来保存您可能实际看到的任何值。int16_t 会是安全的,因为它会上升到 32767。