我有一个关于从字符获取位图的问题,例如 A。
我已经在互联网上搜索,但没有直接的帮助。我找到了这个页面,其中描述了我的计划。
本站引述:
例如,字符 char="A" bits="227873781661662" 转换为二进制的“0000 0000 0000 0000 1100 1111 0011 1111 1111 1111 1100 1111 0011 1111 1101 1110”。
他们如何从 227873781661662 到 0000 0000 0000 0000 1100 1111 0011 1111 1111 1111 1100 1111 0011 1111 1101 1110?
int num = 227873781661662;
int n = log(num)/log(2)+1; //Figure out the maximum power of 2 needed
NSString *result = @""; //Empty string
for (int j=n; j>=0; j--) //Iterate down through the powers of 2
{
if (pow(2,j) >= num) //If the number is greater than current power of 2
{
num -= pow(2,j); //Subtract the power of 2
result = [result stringByAppendingString:@"1"]; //Add a 1 to result string
}
else result = [result stringByAppendingString:@"0"]; //Otherwise add a 0
if (num == 0) break; //If we're at 0, stop
}
NSLog(@"num = %i",num);
这有什么问题?感谢帮助