我想一个十进制数转换为基体2回基地10.仅适用于正argument_decimal的Java转换负二进制回整数
argument_binary = Integer.toBinaryString(argument_decimal);
back_converted_argument_decimal = Integer.valueOf(argument_binary, 2);
对于argument_decimal beeing负,我得到“java.lang.NumberFormatException:对于输入字符串: ”11111111111111111111111111111111“”
编辑:这是我做的:
latitude_binary = Integer.toBinaryString((int)(latitude_decimal * 1000000));
back_converted_latitude_decimal = Long.parseLong(latitude_binary, 2)/1000000.0;
这给了我不好的结果就像是-1.1来回和背部转换为4293.867296
你的意思是基地2和底座10,正确吗? – fge
正确。抱歉混淆... – krzysiek
你的输入字符串是33个字符,所以这并不奇怪; Java整数只涵盖32位。那么,真的有问题吗? – fge