|
|
|
|
|
|
c****s 发帖数: 37 | 1 【 以下文字转载自 shopping 讨论区 】
【 原文由 campos 所发表 】
用位运算吧
unsigned char x;
for(i=0;i<8;i++)
{
if(inputstring[i]=='1')
x |= (unsigned char)(2^(7-i));
else
x &= (unsigned char)(255-2^(7-i));
}
inputstring 是那个输入的8位二进制字符串 | h***o 发帖数: 539 | 2
这样比较好吧
unsigned char x = 0;
for(i=0;i<8;i++)
x = x*2 + (inputstring[i]-'0');
【在 c****s 的大作中提到】 : 【 以下文字转载自 shopping 讨论区 】 : 【 原文由 campos 所发表 】 : 用位运算吧 : unsigned char x; : for(i=0;i<8;i++) : { : if(inputstring[i]=='1') : x |= (unsigned char)(2^(7-i)); : else : x &= (unsigned char)(255-2^(7-i));
| c****s 发帖数: 37 | 3 yes, that's better
【在 h***o 的大作中提到】 : : 这样比较好吧 : unsigned char x = 0; : for(i=0;i<8;i++) : x = x*2 + (inputstring[i]-'0');
|
|
|
|
|
|