Java:十进制转化成16进制! 卡壳了。。。

发布于 2021-11-23 11:52:12 字数 69 浏览 916 评论 5

比如说:10进制的20数字转化成16进制为14,但是我要的是这种效果0x14,注意一定要带“0x”,然后还要保存到byte数组里面!!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

臻嫒无言 2021-11-30 03:06:16

回复  

题主很明显混淆了“数值”和“数值表示法”这两个概念。

保存在byte数组里的是“数值”,例如:byte[] array1 = { 0x01, 0x02, 0x03 } 与 byte[] array2 = { 1, 2, 3 },两个数组里的数值是完全一样的。两个数组通过不同的“数值表示法”来表示,前者用十六进制数表示法描述,后者用十进制数表示法描述。你在代码里看到的一切数,包括打印出来的结果,永远是“数值”在具体的“数值表示法”下呈现出的“字符串”(没错,就是字符串,它不是数值)。保存在byte数组里的,永远是数值,所以你可以想象那个数值前头带有0x,也可以不带0x。那个效果是给你看的,不是给计算机看的。

通过你的简单描述和疑惑点,我猜测,你所见到的加解密运算示例,一定是用十六进制表示法来描述并进行一些逻辑运算,比如 0x21 & 0xFF,0xAB ^ 0x11。于是你就误以为只有十六进制数能够做这些运算,其实这是不对的,而且也没有必要。十进制数也可以做,33 & 255, 171 ^ 17,与上面的十六进制计算的结果一模一样。

心欲静而疯不止 2021-11-30 03:06:13

如果值是一定的,可以用工具

泪冰清 2021-11-30 02:34:07

byte 范围 127~-128 ,存储0xff会出现-1。与byte存储方式有关系

为你鎻心 2021-11-30 01:55:04

额 有的。。。 得到这种数组后,要进行加解密算法。。。

因为看清所以看轻 2021-11-29 09:07:12

0x14=20.

不管怎么放进byte都是一样的,难道还有什么区别吗。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文