单片机c语言问题
来源:百度知道 编辑:UC知道 时间:2024/05/21 11:01:10
int BinaryToDecimal(char bin[],int len)
{
int result = 0;
char *p;
while ( *p != '\0')
{
result = (result << 1)+( *p - '0' );
p += 1;
}
return( result );
}
char bin[]是诸如"11111110" 这样的字符串,返回的就是结果
用%d 打印出来不就可以了!
原来二进制的数据类型是什么,如果是char类型的不必转,直接显示就可以了。
如:
unsigned char a; //定义一个变量a来保存二进制数
num[]={.......};//这是你的数码管编码表
a=11111110; //把a的值赋给变量a
//数码管显示口如果是P1接段则
P1=num[a]; //把num[a]送到P1数码管显示
完成程序.
比如在一个字节中是二进制数11111110B=254,现在需要转换为3个字节的数字存储在3个字节中,分别为2,5,4。你的是这个意思吧?
比如说254,这样运算:
254÷100=2……54
54÷10=5……4
所以在程序中就这样