请问,这段二进制转十进制的代码中bin-'0'
是什么意思?谢谢。
#include <stdio.h>
#include <stdlib.h>
int main(){
char bin;
int dec = 0;
printf("Binary: \n");
bin = getchar();
while((bin != '\n')){
if((bin != '0') && (bin != '1')){
printf("Wrong!\n");
return 0;
}
printf("%c",bin-'0'); // ?
dec = dec*2+(bin-'0'); // ?
bin = getchar();
}
printf("Decimal: %d\n", dec);
return 0;
}
最佳答案
bin - '0'
将 bin 的 ASCII 值转换为其整数值。给定 bin = '1'
,bin - '0' = 1
关于c++ - 二进制数与十进制数的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141542/