所谓的大端模式:是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式 所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致
例如: 下面是小端。将低位存储在低位。intel就是这么干的
小端模式 所谓的小端模式,是指数据的高位保存在内存的高地址中,而数 据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致
例如: 下面是小端。将低位存储在低位。intel就是这么干的
/** * int to byte[] 支持 1或者 4 个字节 * @param i * @param len * @return */ public static byte[] intToByte(int i,int len) { byte[] abyte=null; if(len==1){ abyte = new byte[len]; abyte[0] = (byte) (0xff & i); }else{ abyte = new byte[len]; abyte[0] = (byte) (0xff & i); abyte[1] = (byte) ((0xff00 & i) >> 8); abyte[2] = (byte) ((0xff0000 & i) >> 16); abyte[3] = (byte) ((0xff000000 & i) >> 24); } return abyte; } public static int bytesToInt(byte[] bytes) { int addr=0; if(bytes.length==1){ addr = bytes[0] & 0xFF; }else{ addr = bytes[0] & 0xFF; addr |= ((bytes[1] << 8) & 0xFF00); addr |= ((bytes[2] << 16) & 0xFF0000); addr |= ((bytes[3] << 24) & 0xFF000000); } return addr; }下面是大端: 一般网络传输都是这么干的!
/** * int to byte[] 支持 1或者 4 个字节 * @param i * @param len * @return */ public static byte[] intToByte(int i,int len) { byte[] abyte=null; if(len==1){ abyte = new byte[len]; abyte[0] = (byte) (0xff & i); }else{ abyte = new byte[len]; abyte[0] = (byte) ((i >>> 24) & 0xff); abyte[1] = (byte) ((i >>> 16) & 0xff); abyte[2] = (byte) ((i >>> 8) & 0xff); abyte[3] = (byte) (i & 0xff); } return abyte; } public static int bytesToInt(byte[] bytes) { int addr=0; if(bytes.length==1){ addr = bytes[0] & 0xFF; }else{ addr = bytes[0] & 0xFF; addr = (addr << 8) | (bytes[1] & 0xff) ; addr = (addr << 8) | (bytes[2] & 0xff) ; addr = (addr << 8) | (bytes[3] & 0xff) ; } return addr; }
收藏的用户(0) X
正在加载信息~
推荐阅读
站点信息
- 文章2313
- 用户1336
- 访客11729485
每日一句
Biodiversity is Earth's safety net.
生物多样性是地球的安全网。
生物多样性是地球的安全网。
Thinkpad X1隐士 风扇声音过大的解决方法
iOS开发之VHBoomMenuButton使用教程
浅谈NIO界框架大佬——Netty
Win10版本20H2正式版官方ISO镜像大全
android ndk开发之asm/page.h: not found
Android Studio Arctic Fox | 2020.3.1使用问题
转载一篇微信WEB端接口说明
如何成为前端开发人员?
新手必看修改DSDT教程
Thinkpad x1 Extreme黑苹果10.14.5安装完成
ndk神奇问题之non-numeric second argument to `wordlist' function: '8.7z'
CreateProcessW要注意的细节问题
Swift 4.0扩展 WCDB 支持 SQL 语句
新会员