今天写一个二进制转10进制的函数,又被C语言的优先级给忽悠了一把,以为移位运算符优先级应该和乘除运算符一样,高于加减运算符,结果悲剧了。恩,估计这个函数以后可能会用到,保存下来:
// ===================================================
// 8位二进制字符数组转十进制数
// 注意:字符数组必须是8位二进制ASCII形式
// ===================================================
byte Binary_Num(char *str)
{
byte i,num;
i = 0;
num = 0;
while(i < 8)
{
num = (num << 1) + (*(str+i) - '0');
i++;
}
return num;
}