1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 将一个十六进制数的字符串参数转换成整数返回

将一个十六进制数的字符串参数转换成整数返回

时间:2023-03-07 21:22:00

相关推荐

将一个十六进制数的字符串参数转换成整数返回

为什么80%的码农都做不了架构师?>>>

package com.duapp.itfanr;//编写一个函数将一个十六进制数的字符串参数转换成整数返回。public class CharDemo {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString str = "1a";int len = str.length();int sum = 0;for (int i = 0; i < len; i++) {char c = str.charAt(len - 1 - i);int n = Character.digit(c, 16);sum += n * (1 << (4 * i));}System.out.print(sum) ;//结果是26//System.out.println(Integer.parseInt(str,16)) ;}}

static int digit(char ch, int radix) : 根据基数返回当前字符的值的十进制。如果不满足Character.MIN_RADIX <= radix <= Character.MAX_RADIX,或者,ch不是radix基数中的有效值,返回"-1";如果ch是“大写”的A到Z之间,则返回ch - 'A' + 10 的值;如果是“小写”a到z之间,返回ch - 'a' + 10 的值。

System.out.println("Character.MIN_RADIX: " + Character.MIN_RADIX );System.out.println("Character.MAX_RADIX: " + Character.MAX_RADIX );System.out.println("Character.digit('2',2): " + Character.digit('2',2) );System.out.println("Character.digit('7',10): " + Character.digit('7',10) );System.out.println("Character.digit('F',16): " + Character.digit('F',16) );//结果为:Character.MIN_RADIX: 2Character.MAX_RADIX: 36Character.digit('2',2): -1Character.digit('7',10): 7Character.digit('F',16): 15

我感觉说白了就是把一个字符按基数转为十进制。比如:

System.out.println(Character.digit('F',16)) ;//'f'也可以

输出结果为15. 说明'F'这个字母在十进制下表示15. 如果你输入'G',由于十六进制中不存在这个字母,所以返回-1。 参考: [1]. /base/762366_4.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。