- 正数
- 每四位转换成16进制即可
- 十进制=> 二进制 => 十六进制
- 15 00001111 0F
- 负数
- 计算机的负数不是用源码,而是用补码,所以需要转换反码,然后+1成补码,计算十六进制
- 下例类型为byte,其中最高位是符号位,为1
- 十进制=> 二进制原码 => 二进制反码 => 二进制补码 = > 十六进制
- -91 => 11011011 => 10100100 => 10100101 => A5
- 案例
- 对于MD5加密,API返回的结果是一个长度为16的byte数组,按照比特位计算共128位
-
DigestUtils.md5Hex("heloworld")
-
- 需要转换为十六进制,进行如上计算,即可。
- 实现方式可以负数+256 然后转换、正数直接转换
- 负数的二进制补码+二进制原码=256 (仅限于byte)
- 对于MD5加密,API返回的结果是一个长度为16的byte数组,按照比特位计算共128位
MD5 to Hex
于 2023-07-28 14:35:06 首次发布