C语言中将一个字节数据转换成对应十进制数字字符串

如题,将一个字节数据(如00010000)转换成字符串"16",程序要怎么写?

#include <stdio.h>

int Bin2Dec(char bin[]) {
int i,num = 0;
for(i = 0; bin[i]; ++i) {
if(bin[i] >= '0' && bin[i] <= '1')
num = 2 * num + bin[i] - '0';
}
return num;
}

int main() {
char s[5][20] = {"0010000","1101001001010","111000101010101","1101001001001010","10101000010101"};
int i;
for(i = 0; i < 5; ++i)
printf("%20s : %d\n",s[i],Bin2Dec(s[i]));
printf("\n完成!\n");
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-13

通过格式操作使任意类型的数据转换成一个字符串

第2个回答  2015-03-07
#include <stdio.h>
#include <string.h>
#define N 32
char str[N];
int main(){
while(scanf("%s",str) != EOF){
int len = strlen(str);
int e = 1;
int ans = 0;
for(int i = len - 1; i >= 0; i--){
if(str[i] == '1'){
ans = ans + e;
}
e = e * 2;
}

printf("%d\n",ans);
}
return 0;

}
退出的时候ctrl + z 回车

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网