0
В ролях нет правильного слова, но голые со мной. У меня есть следующая строка:Как я могу нарисовать NSString как шестнадцатеричное представление NSInteger
NSString *string = @"01700000";
Однако, мне нужно проверить, если он содержит конкретный бит Я ищу:
if (bitshift & (1 << 21)) {
NSLog(@"YES");
} else {
NSLog(@"NO");
}
Получение целочисленное значение с помощью [string integerValue]
приводит к неожиданным результатам:
NSInteger bitshift = (1 << 24) | (1 << 22) | (1 << 21) | (1 << 20);
NSString *flags = @"01700000";
NSInteger bitshiftString = [flags integerValue];
// bitshift: 1700000, bitshiftString: 19f0a0
NSLog(@"bitshift: %tx, bitshiftString: %tx", bitshift, bitshiftString);
Что было бы наиболее подходящим способом сканирования этого строкового значения в NSInteger
?