我在写串口,写的数据必须是十六进制。而且串口提供的 write 方法是规定是 int 型的( write(int a)),
我现在遇到的问题是:我要将整数 a 与 b 异或之后写进串口。
我尝试过的方法:①Integer.toHexString(a^b); 这个返回的是String类型,明显不可以。
②Integer.parseInt(Integer.parseIn(a^b), 16);这个方法返回的是十进制 Int 型,不是十六进制现在求教怎样将一个十六进制的结果以Int的形式返回,以十六进制的形式表示。
即 public int fun(int a,int b){teturn a^b;},如fun(0x5,0xA),返回十六进制的 A 而不是十进制的 10 ;
我现在遇到的问题是:我要将整数 a 与 b 异或之后写进串口。
我尝试过的方法:①Integer.toHexString(a^b); 这个返回的是String类型,明显不可以。
②Integer.parseInt(Integer.parseIn(a^b), 16);这个方法返回的是十进制 Int 型,不是十六进制现在求教怎样将一个十六进制的结果以Int的形式返回,以十六进制的形式表示。
即 public int fun(int a,int b){teturn a^b;},如fun(0x5,0xA),返回十六进制的 A 而不是十进制的 10 ;
int就是int,代表某个数值
只有将它转化成字符串或者输出显示时,才有10进制或16进制的表现形式
正解,lz直接写入int不行吗?好好看看api
void writeInt(int v)
将一个 int 值以 4-byte 值形式写入基础输出流中,先写入高字节。
(若鱼)
谢谢,真的是这样,咕~~(╯﹏╰)b