在C语言中二进制转化为十进制s=s*2+a[i]-‘0’什么意思?
发布网友
发布时间:2024-08-19 23:20
我来回答
共3个回答
热心网友
时间:2024-08-27 08:34
a[0][1][2][3][4]....
((a[0]-'0')*2+a[1]-'0')*2+....
变成循环就是s=s*2+a[i]-'0';
a是由0,1组成的字符串,要转化成数字必须减去'0'
就相当与9876=9*10^3+8*10^2+7*10+6*10^0=((9*10+8)*10+7)*10+6
热心网友
时间:2024-08-27 08:34
举个例子 a[5]=10110
10110转10进制正常是1*2^4+1*2^2+1*2^1
但是也可以表示为(((1*2+1)*2)+1)*2
就是(((a[0]*2+a[2])*2+a[3])*2
热心网友
时间:2024-08-27 08:28
匹配算法不错。问题是 这个问题已经不存在了。