簡體   English   中英

如何將NSInteger或NSString轉換為二進制(字符串)值

[英]How to Convert NSInteger or NSString to a binary (string) value

有人在Objective-C中有一些代碼可以將NSInteger或NSString轉換為二進制字符串?

例:

56-> 111000

stackoverflow中有一些代碼可以嘗試執行此操作,但是它不起作用。

謝謝

不確定SO上的哪個示例對您不起作用,但是Adam Rosenfield在這里的答案似乎有效。 我已經對其進行了更新,以刪除編譯器警告:

// Original author Adam Rosenfield... SO Question 655792
NSInteger theNumber = 56;
NSMutableString *str = [NSMutableString string];
for(NSInteger numberCopy = theNumber; numberCopy > 0; numberCopy >>= 1)
{
    // Prepend "0" or "1", depending on the bit
    [str insertString:((numberCopy & 1) ? @"1" : @"0") atIndex:0];
}

NSLog(@"Binary version: %@", str);

在這里吹我自己的角...

我已經編寫了一個名為CHMath的數學框架,該框架處理任意大的整數。 它的作用之一是允許用戶從字符串創建CHNumber ,並以字符串形式獲取其二進制表示形式。 例如:

CHNumber * t = [CHNumber numberWithString:@"56"];
NSString * binaryT = [t binaryStringValue];
NSLog(@"Binary value of %@: %@", t, binaryT);

日志:

2009-12-15 10:36:10.595 otest-x86_64[21918:903] Binary value of 56: 0111000

該框架可在其Github存儲庫中免費獲得。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM