[英]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.