Objective-C 中的位运算
Bitwise Operations in Objective-C
我有 2 个 NSData
元素,它们具有来自传感器的 2 个寄存器值。
高数据和低数据。
在 arduino 世界我做到了
Value = (HighData << 8) + LowData;
我应该如何使用 Objective-C 来实现它。
目前我有 HighData,LowData 的 NSData 类型,保存一个字节,其值是小数。
我想获取整数值,请帮忙
听起来你需要这样的东西:
NSData * highData = <something>;
NSData * lowData = <something else>;
if (highData.length != 1 || lowData.length != 1) {
NSLog(@"Something went wrong!");
return;
}
uint8_t * highBytes = (uint8_t *)highData.bytes;
uint8_t * lowBytes = (uint8_t *)lowData.bytes;
unsigned value = (((unsigned)highBytes[0]) << 8) + ((unsigned)lowBytes[0]);
我有 2 个 NSData
元素,它们具有来自传感器的 2 个寄存器值。
高数据和低数据。
在 arduino 世界我做到了
Value = (HighData << 8) + LowData;
我应该如何使用 Objective-C 来实现它。
目前我有 HighData,LowData 的 NSData 类型,保存一个字节,其值是小数。
我想获取整数值,请帮忙
听起来你需要这样的东西:
NSData * highData = <something>;
NSData * lowData = <something else>;
if (highData.length != 1 || lowData.length != 1) {
NSLog(@"Something went wrong!");
return;
}
uint8_t * highBytes = (uint8_t *)highData.bytes;
uint8_t * lowBytes = (uint8_t *)lowData.bytes;
unsigned value = (((unsigned)highBytes[0]) << 8) + ((unsigned)lowBytes[0]);