我正在编写一个应该在二进制、十进制和十六进制之间转换的代码。我已经计算出了二进制和十进制,但是当我得到十六进制时,我感到很困惑。
如果不使用 Integer.toHexString,你将如何进行这种转换。
我知道在 java 中已经有一个代码可以为我做到这一点,我的困惑是如何告诉 java 使用手动转换来做到这一点。
我的想法是创建多个 if 语句,每个语句都解释 0 是 0000,或者 C 是 1100,以此类推。
它将遍历十六进制字符串中的每个字符并将二进制值加在一起。
我觉得这是我被要求做的很多代码的方式。
除非这是唯一的方法,否则我将开始这样做。
但是如果有一个伪代码可以解释如何更有效地做到这一点,那将不胜感激。
额外信息:
int hexDigit1A=(binaryDigit8%2)*8+(binaryDigit7%2)*4+(binaryDigit6%2)*2+(binaryDigit5%2)*1;
int hexDigit2A=(binaryDigit4%2)*8+(binaryDigit3%2)*4+(binaryDigit2%2)*2+(binaryDigit1%2)*1;
我知道这会将 4 位二进制数转换为适当的十进制数,这甚至有用还是仅对十进制有用。
非常感谢您提前。