Objective C 如何将十六进制或十进制转换为二进制

How to convert Hexadecimal or Decimal to Binary in Objective C

据我搜索,没有 API 可以将 十六进制 转换为 十进制 二进制

有什么解决方法吗?

以下是转换为二进制和十六进制的方法(如果您需要整数值的字符串。)

1) 转换成二进制

- (NSString *)binaryStringWithInteger:(NSInteger)value
{
    NSMutableString *string = [NSMutableString string];
    while (value)
   {
    [string insertString:(value & 1)? @"1": @"0" atIndex:0];
    value /= 2;
   }
   return string;
}

2) 转换成十六进制

十六进制只是整数的一种显示方式。

如果你想创建一个字符串,它是一个整数的十六进制表示,你可以使用这个代码:

- (NSString *)hexFromInt:(NSInteger)val
{
return [NSString stringWithFormat:@"0x%X", val];
}