Java:十进制转化成16进制! 卡壳了。。。
比如说:10进制的20数字转化成16进制为14,但是我要的是这种效果0x14,注意一定要带“0x”,然后还要保存到byte数组里面!!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如说:10进制的20数字转化成16进制为14,但是我要的是这种效果0x14,注意一定要带“0x”,然后还要保存到byte数组里面!!!!
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
回复
题主很明显混淆了“数值”和“数值表示法”这两个概念。
保存在byte数组里的是“数值”,例如:byte[] array1 = { 0x01, 0x02, 0x03 } 与 byte[] array2 = { 1, 2, 3 },两个数组里的数值是完全一样的。两个数组通过不同的“数值表示法”来表示,前者用十六进制数表示法描述,后者用十进制数表示法描述。你在代码里看到的一切数,包括打印出来的结果,永远是“数值”在具体的“数值表示法”下呈现出的“字符串”(没错,就是字符串,它不是数值)。保存在byte数组里的,永远是数值,所以你可以想象那个数值前头带有0x,也可以不带0x。那个效果是给你看的,不是给计算机看的。
通过你的简单描述和疑惑点,我猜测,你所见到的加解密运算示例,一定是用十六进制表示法来描述并进行一些逻辑运算,比如 0x21 & 0xFF,0xAB ^ 0x11。于是你就误以为只有十六进制数能够做这些运算,其实这是不对的,而且也没有必要。十进制数也可以做,33 & 255, 171 ^ 17,与上面的十六进制计算的结果一模一样。
如果值是一定的,可以用工具
byte 范围 127~-128 ,存储0xff会出现-1。与byte存储方式有关系
额 有的。。。 得到这种数组后,要进行加解密算法。。。
0x14=20.
不管怎么放进byte都是一样的,难道还有什么区别吗。