蓝桥杯 字符串转整数

来源:互联网 发布:办公室新装修 知乎 编辑:程序博客网 时间:2024/06/04 18:32


下列代码把一个二进制的串转换为整数。请填写缺少的语句;

 char* p = "1010110001100";
 int n = 0;
 for(int i=0;i<strlen(p); i++)
 {
  n = __________;//填空
 }
 printf("%d\n", n);



答案:n*2+int(p[i]-'0')

注意:之前用的pow()函数求,但是这题是char,不是int,所以所求ASCII码不对

正如十进制123,求法是:1,1*10+2=12,12*10+3=123类似,可求二进制

如二进制1101,求法是:1,1*2+1=3,3*2+0=6;6*2+1=13;

#include<iostream>#include<cstring>#include<stdio.h>#include<cmath>using namespace std;int main(){char* p = "1010110001100";int n = 0;for(int i=0;i<strlen(p); i++){n =n*2+(int)(p[i]-'0');}printf("%d\n", n);return 0;}
答案:5516

0 0
原创粉丝点击