16进制转10进制使用霍纳算法(java版)
2017-09-26 22:56
405 查看
import java.util.Scanner; public class Hex2Dec { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter a hex number"); String hex = input.nextLine(); System.out.println("The decimal value for hex number"+ hex + "is " + hexToDecimal(hex.toUpperCase()));//全部转换成了大写字母 } public static int hexToDecimal(String hex) { int decimalValue = 0; for(int i = 0;i < hex.length();i++) { char hexChar = hex.charAt(i); decimalValue = decimalValue * 16 + hexCharToDecimal(hexChar); /**使用了霍纳算法 * 原来正常算法A B 8 C= 10*16^3+11*16^2+8*16+12 * 改进后: * ( (10*16+11)*16+8 )*16+12 */ } return decimalValue; } public static int hexCharToDecimal(char ch) { if(ch >= 'A' && ch <= 'Z')//字母 return 10+ ch - 'A'; else //数字 return ch - '0'; } }
相关文章推荐
- Java 10进制byte数组与16进制byte数组互转 及 在DES加解密中的使用
- java之10进制转换2,8,16进制
- 16进制、10进制、字符串、中文、byte[]相互转换--->java版
- java中 8进制 10进制 2进制 16进制 相互转换
- java将16进制与10进制互相转换
- java 10进制和16进制的相互转换
- java 16进制转10进制
- java 20:回文串检查,将16进制化为10进制
- java C++ md5 异或加密 10进制转16进制 16进制转10进制
- java 16进制与10进制等转换
- java16进制转10进制
- JAVA 10进制转16进制高位在前地位在后
- JAVA_16进制字符串转10进制
- 使用 Shell 运算进行进制转换 16进制转10进制
- 常量字符串使用范例--10进制转16进制
- 使用Java把16进制数转化成10进制
- java byte 16进制转 10进制
- java中二进制,8进制,10进制,16进制的转换
- java学习3-查表法实现10进制转换为16进制
- C语言学习3-1:成绩检测,使用while和do...while得到九九乘法,1-1/2+1/3-1/4 .......+1/10求和,输入10进制打印2进制,求素数,猜随机产生的数字,16进制转二进制,