- String s = "ab";
- // System.out.println(Integer.parseInt(s,16));
- int sum = 0;
- int len = s.length();
- for (int i = 0; i < len; i++) {
-
- // charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法.
- //charAt()方法返回指定索引位置的char值。索引范围为0~length()-1.
- //如: str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.
-
- char c = s.charAt(len - 1 - i);
-
- // 在指定的基数返回字符char的数值。
-
- int n = Character.digit(c, 16);
-
- // b = 11 ; a = 10 十六进制转换为十进制,每一位上的值乘以8的n-1次方(n为位数)
-
- sum += n * (1 << (4 * i));
- /**<<位运算符
- *
- * i=0 4 * i=0 左移0位
- * (1)0000 0001 -> (1)0000 0001
- *
- * i=1 4 * i=4 左移4位
- * (1)0000 0001 -> (16)0001 0000
- *
- * 1 << (4 * i) 相当于 2*(2的4*i次方/16的i次方)
- *
- * n * (1 << (4 * i)); n*(16的i次方)
- */
- }
- System.out.println(sum);
复制代码 |