说我开始:
uint8_t x = 0x12;
出于调试目的,我想"打印"它是二进制的(使用NSLog)所以我看到:000010010。
在Objective-C中有没有办法做到这一点?我得到的最接近的是使用%o格式,它给出了22,然后手动将其转换为二进制格式。
那么uint16_t y = 0x1234;或uint32_t z = 0x12345678; ?
答案 0 :(得分:1)
这样的事应该可以正常工作:
- (void)printIntInBinary:(int)num {
NSMutableString *binaryResult = [[NSMutableString alloc] init];
while(num) {
[binaryResult insertString:num&1?@"1":@"0" atIndex:0];
num>>=1;
}
NSLog(@"%@",binaryResult);
}
适用于您发布的所有示例!