objective-c - 如何将 NSInteger 转换为二进制(字符串)值

标签 objective-c binary nsstring

我正在尝试弄清楚如何将 NSInteger(例如 56)转换为 NSString,后者是原始 (int) 值的二进制表示形式。也许有人知道一种可以接受 56 并在 Objective C 中返回“111000”的格式化技术。谢谢大家。

最佳答案

没有内置的格式化运算符可以做到这一点。如果你想将它转换为十六进制字符串,你可以这样做:

NSString *str = [NSString stringWithFormat:@"%x", theNumber];

要将其转换为二进制字符串,您必须自己构建它:

NSMutableString *str = [NSMutableString stringWithFormat:@""];
for(NSInteger numberCopy = theNumber; numberCopy > 0; numberCopy >>= 1)
{
    // Prepend "0" or "1", depending on the bit
    [str insertString:((numberCopy & 1) ? @"1" : @"0") atIndex:0];
}

关于objective-c - 如何将 NSInteger 转换为二进制(字符串)值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/655792/

相关文章:

ios - 使用实例变量/属性/与 ARC 合成的正确方法

java - 如何使用 Apache Avro 对 JSON 字符串进行 Avro 二进制编码?

iphone - Objective-C 将 NSData 转换为 NSString

objective-c - 删除第一个正斜杠之前的字符串部分

iphone - 具有自定义 View 的 UIBarButtonItem 在第一次查看后不显示

ios - 显示 UILabels 和 UIButtons Inline 彼此的方法

c++ - 二进制补码形式

java - 理解二进制文件

objective-c - 获取多行标签中子字符串中的词框

iphone - iOS AVPlayer seektotime 锁定在某些点