簡體   English   中英

如何將整數轉換為無符號的32位大字節序字節數組

[英]How do I convert an integer to unsigned 32 bit big endian byte array

我有一個代表幀長的整數。 我想知道如何在Java中將整數轉換為無符號的32位(4字節)大端字節數組

大字節序字節序列只是“大數字優先”。 但是,當然可以轉換為二進制。 因此,幾乎所有“十六進制”轉換都非常容易-這是默認輸出。

它取決於您打算使用哪種語言,但是sprintf很常見。 要執行此操作的格式字符串是%X因此在perl中,您將具有以下內容:

my $big_endian = sprintf ( "%X", 61613 ); 
print $big_endian;

little endian更復雜-它反轉每個字節(或一對十六進制值)。

當然,您要完成的工作的細節更多地取決於您使用的語言-您尚未指定哪種語言,也未提供到目前為止所獲得的示例代碼。

在Java中,整數是帶符號的,並且是大端的。 單數以二進制補碼格式編碼。 要將二進制補碼轉換為無符號數,只需遵循以下規則:

規則

如果要使用無符號表示,只需遵循規則即可獲取無符號編號。 由於整數已經在big endian中,因此只需將結果分成4個字節即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM