& 0xFF 取低8位

@Test
void byteTest() { byte hex1 = (byte) 127;
byte hex2 = (byte) 383;
byte hex3 = (byte) 0x7F; RandomAccessFile writeFile = null;
try {
//写入头文件
writeFile = new RandomAccessFile("D:\\temp\\hex.txt", "rw");
byte[] bytes = new byte[3];
bytes[0] = hex1;
bytes[1] = hex2;
bytes[2] = hex3;
writeFile.write(bytes, 0, bytes.length);
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
} finally {
try {
if (writeFile != null) {
writeFile.close();
}
} catch (Exception ex) { }
}
logger.info("成功");
}
@Test
void lowerOrderTest() {
// 65304 = 1111 1111 0001 1000 int h1 = ((65304)); //直接返回原数据 => 65304
int h2 = ((65304 >> 4)); //右移4位,高位补0 => 0000 1111 1111 0001 => 1111 1111 0001 => 4081 /**
* 取低8位(FF)
* 0xFFF = 11111111
* & 相同数为1 不同数为0
* 1111 1111 0001 1000
* 1111 1111
* 0000 0000 0001 1000
* 11000 => 24
*/
int h3 = ((65304) & 0xFF); /**
* >> 4 先右移4位, 高位补0
* 1111 1111 0001 1000
* 0000 1111 1111 0001
* & 0xFF 取低8位
* 0000 1111 1111 0001
* 1111 1111
* 0000 0000 1111 0001
* 11110001 => 241
*/
int h4 = ((65304 >> 4) & 0xFF); logger.info("\n{}\n{}\n{}\n{}",h1,h2,h3,h4);
}
 short、int 转byte数组
/**
* 32536 => 0111 1111 0001 1000 最左边为符号位
* 默认从低位到高位的顺序取值
* b[0] = 111 1111 0001 1000 & 0xFF = 0001 1000 = 24
* b[1] = 111 1111 0001 1000 >> 8 & 0xFF = 0111 1111 = 127
*/
public static byte[] shortToBytes(short shortValue, ByteOrder byteOrder) {
byte[] b = new byte[Short.BYTES];
if (ByteOrder.LITTLE_ENDIAN == byteOrder) {
b[0] = (byte) (shortValue & 0xFF);
b[1] = (byte) ((shortValue >> Byte.SIZE) & 0xff);
} else {
b[1] = (byte) (shortValue & 0xFF);
b[0] = (byte) ((shortValue >> Byte.SIZE) & 0xff);
}
return b;
} /**
* int 转 byte 同理
*/
public static byte[] intToBytes(int intValue, ByteOrder byteOrder) { if (ByteOrder.LITTLE_ENDIAN == byteOrder) {
return new byte[]{
(byte) (intValue & 0xFF),
(byte) ((intValue >> 8) & 0xFF),
(byte) ((intValue >> 16) & 0xFF),
(byte) ((intValue >> 24) & 0xFF)
}; } else {
return new byte[]{
(byte) ((intValue >> 24) & 0xFF),
(byte) ((intValue >> 16) & 0xFF),
(byte) ((intValue >> 8) & 0xFF),
(byte) (intValue & 0xFF)
};
}
}

& 0xFF 作用 取低8位的更多相关文章

  1. byte取高4位,低4位,byte转int

    byte abyte =-1; System.out.println(abyte); System.out.println(Integer.toBinaryString(abyte)); //取高四位 ...

  2. "用wow64exts调试64位任务管理器抓取的32位程序的dump"

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:"用wow64exts调试64位任务管理器抓取的32位程序的dump".

  3. i/10和i取最后两位的精妙算法(前方高能)

    i/10; q2 = (i2 * 52429) >>> (16+3); 52429/524288 = 0.10000038146972656, 524288 = 1 << ...

  4. ARM微处理器中支持字节、半字、字三种数据类型,地址的低两位为0是啥意思?

    问题: ARM微处理器中支持字节.半字.字三种数据类型,其中,字需要4字节对齐(地址的低两位为0).半字需要2字节对齐(地址的最低位为0).我想问的是括号中的内容是什么意思呢?请牛人帮忙解释一下!谢谢 ...

  5. Python练习题 041:Project Euler 013:求和、取前10位数值

    本题来自 Project Euler 第13题:https://projecteuler.net/problem=13 # Project Euler: Problem 13: Large sum # ...

  6. java 实现小数取最后一位、四舍五入

    //获得最后一位 double a = 3.24; String b = String.valueOf(a); char c[] = b.toCharArray(); System.out.print ...

  7. SSH框架用法,及作用(在一位菜鸟使用半年之后归纳的总结)

    SSH框架从接触以来改变了我对代码的编写方式,从最初开始学习到勉强掌握可以说得到不少心得,以下内容出自java初学者对SSH的理解,如有不对的地方还请谅解,希望可以提出来与我交流,谢谢! SSH顾名思 ...

  8. excel 取前几位文字

    1L.2L的分别用mid函数和left函数都没有问题. 问题是,如果用left函数,必须先确认,字符串中汉字必须排在左边第一个,接下来几个也必须是汉字:mid函数则是根据从左边第某个字符开始,一共取几 ...

  9. PHP随手记2--获取随机n位不重复字符

    定义一个函数返回26英文字母中n位不重复随机字符 基本思路是利用内置函数生成随机数,取出该位置字母之后将其删除,再进行下一次随机,最后实现字符串拼接就ok! 代码很简单,通俗易懂,直接上代码吧: 1 ...

  10. 给出一个十六进制的数0xFF 0x80 (只有2“位”) 将其转换成有符号的一字节的十进制整数

    #include <stdio.h>#include<iostream>#include <stdlib.h>#include<string.h>usi ...

随机推荐

  1. 数据结构与算法 | 图(Graph)

    在这之前已经写了数组.链表.二叉树.栈.队列等数据结构,本篇一起探究一个新的数据结构:图(Graphs ).在二叉树里面有着节点(node)的概念,每个节点里面包含左.右两个子节点指针:比对于图来说同 ...

  2. Spring Boot Bean的多种加载方式

    在 Spring Boot 中,您可以以多种方式加载 Bean,这取决于项目的需求和设计.以下是一些常见的加载 Bean 的方式以及相应的示例源代码. 1.组件扫描(Component Scannin ...

  3. JavaWeb项目中web.xml配置文件<servlet-class>…</servlet-class>中的路径出现问题以及服务器错误的解决办法

    问题如图 原因: 1.改变了 WEB-INF 文件夹下 lib 文件夹下 servlet-api.jar 的路径2.缺失lib文件夹下的 servlet-api.jar,没有添加到库中 解决办法: 不 ...

  4. VM离线安装Centos 8以及配置

    一.安装 1.预装准备 1.1. 硬件准备 物理内存:2G以上(这里指系统搭建所需占用空间) 物理外存:20G(这里指系统搭建所需占用空间) 1.2. 环境搭建准备 Window10系统电脑一台.Vm ...

  5. MacOS Monterey 配置 PHP 环境记录

    目前 中文网中对于 MacOS 下安装 PHP 教程比较老,并且我个人感觉很难看懂.我在安装 PHP 过程中遇到了很多网络中没有出现过的问题,特此环境配置过程记录如下. 电脑:MacBook Pro ...

  6. 【UniApp】-uni-app-修改组件主题和样式

    前言 好,经过上个章节的介绍完毕之后,了解了一下 uni-app-扩展组件 那么了解完了uni-app-扩展组件之后,这篇文章来给大家介绍一下 uni-app-修改组件主题和样式 首先不管三七二十一, ...

  7. springMvc报错

    这个报错困扰了我大概一天,主要是刚开始没抓到主要原因,是因为自己的项目结构出现了问题, 导致找不到应有的东西,另一方面就是maven的问题,将maven解决后这个就能用了. 具体解决在https:// ...

  8. SpringSecurity入门(SSM版)

    1. 简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Sp ...

  9. 流媒体服务器ZLMediaKit与FFmpeg

    流媒体服务器ZLMediaKit与FFmpeg overview 关键字:ZLMediaKit.FFmpeg.srt.vlc 如果想快速拥有自己的流媒体服务器,那么可以使用开源项目自己搭建.开源的流媒 ...

  10. python 获取android 应用使用情况

    python 获取android 应用使用情况 本文主要讲述python 脚本获取android 应用使用情况. 主要思路:使用adb 获取当前activity ,1s 一次输出. 主要涉及知识点: ...