簡體   English   中英

Java字節數組中的循環移位

[英]circular bit shifting in byte array in java

如何將16字節數組向左移一個字節(向右移8位)?

即16個字節的數組:(0x)00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

向左移動8位后:

輸出應為:(0x)01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00

如何在Java中執行此操作?

這是一種(不是很優雅)的方式:

byte[] bytes = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0xa, 0xb, 0xc, 0xd, 0xe};

// now shift left
byte b0 = bytes[0];
System.arraycopy(bytes, 1, bytes, 0, bytes.length -1);
bytes[bytes.length - 1] = b0;

暫無
暫無

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

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