java - 从 long 类型获取字节的最快方法

标签 java arrays get byte long-integer

这是

Long number = 0x001122334455667788L;

我需要创建 Long 的最后 6 个字节的 byte[]

所以它看起来像

byte[] bytes = {0x22,0x33,0x44,0x55,0x66,0x77,0x88};

制作这样的东西的正确方法是什么?

感谢您的回复

最佳答案

    byte[] buffer = new byte[6];
    buffer[0] = (byte)(v >>> 40);
    buffer[1] = (byte)(v >>> 32);
    buffer[2] = (byte)(v >>> 24);
    buffer[3] = (byte)(v >>> 16);
    buffer[4] = (byte)(v >>>  8);
    buffer[5] = (byte)(v >>>  0);

这就是DataOutputStream.writeLong() 的作用(除了它写入所有字节,当然)

关于java - 从 long 类型获取字节的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361775/

相关文章:

java - 我可以添加一个链接到我的测试方法来打开被测方法(intellij 和 junit 以及 spring)

java - Android 以像素为单位的定位可以工作,但不应该

c# - ngrx store - 正确更新数组。

javascript - 如果 Javascript 中不存在默认数组过滤器对象,如何获取它

java - Vaadin + TabSheet + Grails Service = 当前线程没有 session

java - Sprig jdbc queryTimeOutException

javascript - 从对象数组中添加属性

node.js - 如何将常量值与 api get 请求一起发送到 Node 服务器

get - 不安全请求警告 : Unverified HTTPS request is being made in Robot Framework.

json - 如何在Python中处理响应对象?