-2
我需要一些帮助,将我从我的汽车中的OBD适配器获得的答案转换为十进制,然后将转换后出现的任何值添加到公式中并打印出来。Android十六进制到十进制转换
public void run() {
OBDcmds();
try {
OdbRawCommand ANS = new OdbRawCommand("22 40 90");
while (!Thread.currentThread().isInterrupted()) {
Log.d("Log", "ANS: " + ANS.getFormattedResult());
try {
ANS.run(mmInStream, mmOutStream);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("inside catch before while");
}
}
ANS当被问及会返回类似 “6240901F30”,其中第6号是风马牛不相及的答案( 1F30)。所以我们剩下的是最后一个(在这种情况下)4个数字(1F30),它们是十六进制的,需要转换成十进制数。这个值然后被添加到公式x * 0,0625 - 512
。它需要跳过这六个第一个数字,否则答案将是错误的。
我怎么能把这个关掉?
什么是 “基数”? –
@EvgeniyMishustin也被称为“基数”,它是给定数字表示中存在的不同数字的数量。例如,'binary <=> radix = 2'; '八进制<=> radix = 8'; '十六进制<=> radix = 16'。 –
“1F30”不是静态值。这意味着“1F30”会更新为不同的数字,因为我在while循环中有它。这是计算车内电池的电流,因此这不会令人伤心。 – swess