16进制补码转10进制数
16进制补码转10进制数
16进制补码转10进制工具类,记下来以后就不重复写了
/*** 16进制补码转10进制数* @param str* @return*/
public static int complemwnt(String str) {int result = 0;String binaryString = Integer.toBinaryString(Integer.valueOf(str, 16));while(binaryString.length() < 16){binaryString = "0"+binaryString;}String binary = binaryString.substring(0,1);//取第一位判断正负if ("0".equals(binary)) {result = Integer.valueOf(binaryString,2);}else {String[] split = binaryString.split("");StringBuilder builder = new StringBuilder();for (String s : split) {if("0".equals(s)){builder.append("1");}else {builder.append("0");}}// 调用Integer.valueOf(value, 2) 将二进制转为十进制.result = Integer.valueOf(builder.toString(),2);// 先取负数在减1result = (0 - result) - 1;}return result;}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
