我有一个表示帧长度的整数。我想知道如何将整数转换为Java中的无符号32位(4字节)大端字节数组
答案 0 :(得分:0)
一个大端字节序列首先是“大数字”'。但当然,转换成二进制。因此,几乎所有的十六进制内容都非常简单。转换 - 这是默认输出。
这取决于你打算使用哪种语言,但是sprintf很常见。执行此操作的格式字符串为%X
,因此在perl中您可以使用以下内容:
my $big_endian = sprintf ( "%X", 61613 );
print $big_endian;
little endian更复杂 - 它反转每个字节(或一对十六进制值)。
当然,您尝试完成的内容的细节更多地取决于您正在使用哪种语言 - 您既未指定,也未提供您所使用的示例代码。到目前为止。
答案 1 :(得分:0)
在Java中,整数是有符号和大端的。 Singed数字以二进制补码格式编码。要将2的补码数转换为无符号数,请遵循以下规则:
如果您想要无符号表示,只需遵循规则即可获得无符号数。由于已经是大端的整数,只需将结果拆分为4个字节。