给你一个只包含数字的字符串,输出这个字符串的整数值
例如String s="123456";
输出 123456
解法:
可以把s转换为array数组,倒序遍历,int a=c-'0';
sum+=sum+a*10;
最后返回sum
问题升级:不让使用字符加减转换int,也不让强转,也不让使用工具类,这道题该怎么解?
大题思路还是一样,不过int a=c&15;
15的二进制是0000 1111 与0~9的任意一个数进行&运算,得到的是这个数本身
此外,如果是a~z或者A~Z的话,可以与31进行&运算,得到字母字符本身。
31的二进制是0011 11111
这样写效率更高,&(有1才是1);
整数字符也就是0~9,一个整数字符&15可以得到他本身的整型;