Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将2位小数转换为具有相同数字的字节?_Java_Android_Hex_Byte - Fatal编程技术网

Java 如何将2位小数转换为具有相同数字的字节?

Java 如何将2位小数转换为具有相同数字的字节?,java,android,hex,byte,Java,Android,Hex,Byte,我正在使用十六进制数和字节数,现在在转换以下内容时遇到了一个问题: int i= 26; byte b = 0x00; 我想要: b=0x26(0x26的格式必须为“字节”) 或者比如 i= 90; 我一定有 Byte b = 0x90; 你能给我一个做我工作的方法吗? 谢谢您。您可以使用该方法简单地将“26”解析为十六进制值,用于创建字节原语: int number = 26; String intString = Integer.toString(number); byte b = B

我正在使用十六进制数和字节数,现在在转换以下内容时遇到了一个问题:

int i= 26;
byte b = 0x00;
我想要:

b=0x26(0x26的格式必须为“字节”)

或者比如

i= 90;
我一定有

Byte b = 0x90;
你能给我一个做我工作的方法吗? 谢谢您。

您可以使用该方法简单地将“26”解析为十六进制值,用于创建
字节
原语:

int number = 26;
String intString = Integer.toString(number);
byte b = Byte.parseByte(intString, 16);
之所以使用
16
的基值,是因为您希望字节的值等于
0x26
,而
0x
前缀表示以16为基数的十六进制

如果您想要
字节
对象,可以改用:


将4字节数据转换为1字节数据?否!正如我在问题中所说的…输入是一个带2位的十进制数(或整数),输出是一个带相同数字的字节…为什么要在字节中附加相同的数字,然后再加上我们用于十六进制数的0x?你的意思是不需要将0x放在26位中的第一位吗?可以“0x”吗通过此方法添加到26的第一个?您不能调用
parseByte(“0x26”,16)
,因为
字符串只能包含给定基数的数字。对于基数16,这意味着0-9和A-F。表示十六进制的“0x”是不必要的,因为基数16指定了这一点。我不希望以int格式将数字保存到字节b,例如26,以1A值保存,而是希望以0x26值保存……您的代码是否可能?不清楚您在问什么。上述代码将获取一个值为26的
int
,并生成一个
字节
,该字节的值与调用
字节b=0x26
得到的值相同。
Byte b = Byte.valueOf(intString, 16);