main(){ //获取字符串 //获取字符串长度 位值=2 总值=0 while(长度--,数组从尾到头遍历){ if(该处是1){ 总值=总值+ 位值;} 位值=位值*2;} 输出总值 }
(1) 将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。 提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value上,最后输出该value。(2)如何把8进制数或16进制数化为10...
设置一个循环遍历字符串,设置一个初值为0的变量sum记录十进制数,从下标为0开始,作sum*2+该元素-'0'操作,遍历完成后sum即为所求之结果。代码如下://#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void){ char a[]="1101001011010111000101"; ...
先简单给你说一下思路,汇编的 设置缓冲区,输入字符串,将字符串的ASC码值减30H得到字符串的每个值,普安段输入多少个字符,根据字符的个数,用个左移指令存到一个或几个单元中,然后循环除以10,得到一个个余数,即十进制的各个位,并存在存储区,最后全部加上30H后以相反的顺序输出。如果你有一定...
从低位至高位,第n位表示为Xn,对应10进制数D *//* D = X0*R^0 + X1*R^1 + …… + X(n-1)*R^(n-1) + Xn*R^n *//* 参数说明: *//* char *value : 其他进制数,以字符串形式存储 *//* int *result : 转换后的十进制数 *//* int radix : 待转换的进制 */int ...
数的进制转换(1) 将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value上,最后输出该value。(2)如何把8进制数或16进...
include<stdio.h> include<math.h> int main(){ char binary[81];int value=0,i=0,j;while((binary[i]=getchar())!='\n')i++;binary[i]='\0';for(j=0;i>0;i--,j++)value=value+pow(2,i-1)*(binary[j]-'0');printf("%d",value);return 0;} ...
a++
for (i=0;i<L;i++) sum=sum+ (s[i]-'0') *pow(2,L-i-1);return sum;} void main(){ char b[]="10001000"; //2进制数以字符串形式输入存放 int r;r = bin_2_d(b); //转为10进制数 printf("%x, %d",r,r); //按16进制和10进制输出检查。exit(0);} ...
include<stdio.h> include<string.h> int main () { char str[32];int i,len;unsigned int sum=0;unsigned int exp=1;gets(str);len=strlen(str);for(i=len-1; i>=0; i--) { if(i<len-1) exp*=2;if(str[i]=='1') sum+=exp;} printf("%u",sum);} ...