博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
常用的位运算:int与byte[]互相转换
阅读量:6922 次
发布时间:2019-06-27

本文共 987 字,大约阅读时间需要 3 分钟。

hot3.png

1

// 要求: 把整数转换成字节数组: byte[0]为存储数据低位, byte[3]存储数据高位
public class _02_位运算 {    public boolean isBigEndian() { //判断是大端还是小端        return ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN;    }    public byte[] unpackBigEndian(int x) { //高位在前,低位在后。        return new byte[]{                (byte) (x >>> 24),// 强制类型转换, 总是转换低字节部分,操作系统已经屏蔽了内存地址                (byte) (x >>> 16),// 把内存地址看做是从右至左,依次增大;符号方向同移动方向就一致了                (byte) (x >>> 8),                (byte) (x >>> 0)        };    }    public byte[] unpackInt(int x) {//低位在前,高位在后        return new byte[]{                (byte) (x >>> 0),                (byte) (x >>> 8),                (byte) (x >>> 16),                (byte) (x >>> 24)        };    }    public static void main(String[] args) {        System.out.println(new _02_位运算().isBigEndian());        byte[] bytes = new _02_位运算().unpackInt(1000);        System.out.println(bytes[0]);        System.out.println(bytes[1]);    }}

 

转载于:https://my.oschina.net/u/1537182/blog/659839

你可能感兴趣的文章
RxRetrofit - 终极封装 - 深入浅出 & 数据缓存
查看>>
ARKit-带你走进全新的世界(一:初探)
查看>>
在多个父链之间执行一致性的 Plasma 链
查看>>
扩大Button的响应区域
查看>>
Webpack2初识
查看>>
iOS开发-使用Safari调试iOS APP H5页面
查看>>
写作平台选择记
查看>>
Rxjava2+Retrofit2和Instant Run导致冲突
查看>>
风雨飘摇二十年,MMO游戏还有春天吗?
查看>>
VR看房是哗众取宠还是真能满足用户需求?
查看>>
Linux学习---计算机基础1
查看>>
JavaScript的数组方法和操作
查看>>
码栈搭建自动化应用(可视化模式)
查看>>
Ubuntu18.04搭建LNMP
查看>>
前端_JavaScript_Method
查看>>
PAT A1023 sort cmp字典序比较
查看>>
优秀Java程序员应该知道的20个实用开源库
查看>>
实用的设计模式1——单例模式
查看>>
告诉你微信域名被封的原因和防封方案
查看>>
前端_JavaScript_语法篇
查看>>