int转16进制

shantong_martin 2012-01-18 01:58:16
例如:int i = 13;
byte j;
我想让j=0x13;怎么让i转换,让j=0x13
...全文
5853 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
osickleo 2014-08-28
  • 打赏
  • 举报
回复
private byte getByteTime(int time) { byte bt = (byte) ((0xff & time) + (0xff & time) / 10 * 6); return bt; }
sarainmonkey 2012-11-25
  • 打赏
  • 举报
回复
楼主不厚道啊。。。。
黄小飞 2012-09-20
  • 打赏
  • 举报
回复
怎么看不到?
love1956 2012-08-15
  • 打赏
  • 举报
回复
这货可恶啊
wangyu271972680 2012-02-20
  • 打赏
  • 举报
回复
你好,你是怎么转的呢,能贴出代码吗
shantong_martin 2012-01-19
  • 打赏
  • 举报
回复
昨天纠结到4点终于解决
huhk 2012-01-18
  • 打赏
  • 举报
回复
1. int 转16进制可以,但放到byte. 数据范围不够。
如果你一定要这样做,

int i = 13;
System.out.println(Byte.parseByte(Integer.valueOf(Integer.valueOf(i).toString(), 16).toString()));
可能会异常。

rickhunterchen 2012-01-18
  • 打赏
  • 举报
回复
楼上几位已经告诉LZ怎么把int转换成16进制了。

我这里贴上16进制字符串转换成byte数组,以供参考。
/**   
* Convert hex string to byte[]
* @param hexString the hex string
* @return byte[]
*/
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));
}
return d;
}

/**
* Convert char to byte
* @param c char
* @return byte
*/
private static byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}

快跑别回头 2012-01-18
  • 打赏
  • 举报
回复
不明白,帮顶吧,同求大神指导
shantong_martin 2012-01-18
  • 打赏
  • 举报
回复
说的什么,我就是想把13弄成0x13付给一个byte,会转的上码,大虾们
结贴是美德 2012-01-18
  • 打赏
  • 举报
回复
0x13和13只是表现形式 他俩内存中中二进制码是一样的
shantong_martin 2012-01-18
  • 打赏
  • 举报
回复
这不行string哪能转成一byte
benluobo 2012-01-18
  • 打赏
  • 举报
回复
"0x" + Integer.toHexString(k)
benluobo 2012-01-18
  • 打赏
  • 举报
回复
Integer.toHexString(i)

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧