java - java中字节数组的循环位移

标签 java arrays bit-shift

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;

关于java - java中字节数组的循环位移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28313811/

相关文章:

javascript - 试图理解为什么这两个函数不等价

java - 合并两个二叉树的算法?

java - 具有特定图标大小的 commandLink Primefaces/jsf

arrays - Typescript:过滤条件类型数组并具有正确的返回类型

php - 如何将 PHP 数组转换为 json 字符串

java - 不需要的 Java 移位行为

c - 为什么 1 << 3 等于 8 而不是 6?

java - 有支持泛型的 xdoclet 替代品吗?

java - JavaFX应用程序中的应用程序启动方法出现异常

jQuery inArray 虚假结果