java如何获取byte的高四位和低四位

目录
  • 获取byte的高四位和低四位
    • 我直接说重点了
  • 获取一个字节的高5位、低3位 bit

获取byte的高四位和低四位

最近在开发中遇到了一个问题,就是提取一个byte中的低四位和高四位。

为什么要用到这个呢,因为我们自定义了一个协议,并在协议中用一个byte表示软件版本,比如1.22这个版本,1用高四位表示,22用低四位表示,好了,

我直接说重点了

public static int getHeight4(byte data){//获取高四位
    int height;
    height = ((data & 0xf0) >> 4);
    return height;
}
public static int getLow4(byte data){//获取低四位
    int low;
    low = (data & 0x0f);
    return low;
}

获取一个字节的高5位、低3位 bit

//获取一个字节高5位
public static int getHigh5Bit(byte b){undefined
return b >> 3;
}
//获取一个字节低3位
public static int getLow3Bit(byte b){undefined
return b&0x07;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解java中的byte类型

    介绍 byte,即字节,由8位的二进制组成.在Java中,byte类型的数据是8位带符号的二进制数. 在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]. 取值范围分析 一直在想为什么不是 -128 到 128呢?今天分析了一下这个问题. 首先我们得明白一件事情,那就是运算规则: ####################################################################

  • java中进制的转换,Byte与16进制的转换方法

    java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十进制转成十六进制: String Integer.toHexString(int i) 十进制转成八进制 String Integer.toOctalString(int i) 十进制转成二进制  String Integer.toBinaryString(int i) 十六进制转成十进制 Inte

  • java 获取字节码文件的几种方法总结

    java 获取字节码文件的几种方法总结 在本文中,以Person类为例,将分别演示获取该类字节码文件的三种方式, 其具体思想及代码如下所示: public class Person { private int age; private String name; public Person() { System.out.println("person run"); } public Person(String name, int age) { this.age = age; this.n

  • JAVA如何按字节截取字符串

    这篇文章主要介绍了JAVA如何按字节截取字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 public class SubStringTest { @Test public void test() { String s = "北京市丰台区东铁营街道政馨园社区1区1号楼1层"; System.out.println(subString(s, 58)); } public static String subString(String

  • java如何获取byte的高四位和低四位

    目录 获取byte的高四位和低四位 我直接说重点了 获取一个字节的高5位.低3位 bit 获取byte的高四位和低四位 最近在开发中遇到了一个问题,就是提取一个byte中的低四位和高四位. 为什么要用到这个呢,因为我们自定义了一个协议,并在协议中用一个byte表示软件版本,比如1.22这个版本,1用高四位表示,22用低四位表示,好了, 我直接说重点了 public static int getHeight4(byte data){//获取高四位     int height;     heigh

  • Java任意长度byte数组转换为int数组的方法

    前言 嗯.最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了.撒花. Java的位运算以及byte数组与其他类型数据的转换比c/c++感觉麻烦一些.这里简单说明一下byte数组和int的转换吧. 总所周知,int类型数据在Java中占据32 bit,byte占据8 bit,这样的话,正常情况下4个byte可以转换成一个int类型数据. 当然,不正常情况下,3个byte或者2个byte甚至1个byte都可以转换为int数据,只需要高位补上就行.

  • Java中的byte & 0xff到底有什么作用?

    如果写过通信类的代码,比如socket编程,应该对这个问题不陌生. 先说结论 byte & 0xff 是将byte从(-128 至 127)转化成 int(转化后的数值范围: 0 至 255). 其实就是1个byte有两种表示方法,我们既可以用-128 - 127这段范围来表示一个字节,也可以用 0 - 255这个范围的数来表示一个字节. 看一个demo 用Java中的InetAddress类来获取我当前的ip public class InetAddressTest { public stat

  • Java如何获取主机的基本信息详解

    目录 1. 获取基本信息 1.1 获取主机名称和系统 1.2 获取用户信息 1.3 获取主机IP等信息 2. 获取CPU信息 2.1 获取CPU核数 3. 获取内存信息 3.1 获取主机内存 3.2 获取JVM内存 4. 获取磁盘信息 5. 获取Java环境信息 总结 最近在做一个主机资源监控的需求,首先是获取一些最简单的基本参,像一些主机名称.系统类型.ip.cpu.内存和磁盘等等这些数据,看起来虽然很简单,Java的基本库就能完成,但是真的去使用的时候,还是有一些坑的.记录一下,已备后用.

  • java应用cpu占用过高问题分析及解决方法

    使用jstack分析java程序cpu占用率过高的问题 1,使用jps查找出java进程的pid,如3707 2,使用top -p 14292 -H观察该进程中所有线程的CPU占用. [root@cp01-game-dudai-0100.cp01.baidu.com ~]# top -p 14292 -H top - 22:14:13 up 33 days, 7:29, 4 users, load average: 25.68, 32.11, 33.76 Tasks: 113 total, 2

  • JAVA如何获取客户端IP地址和MAC地址

    本文介绍了JAVA如何获取客户端IP地址和MAC地址 ,分享给大家,具体如下: 1.获取客户端IP地址 public String getIp(HttpServletRequest request) throws Exception { String ip = request.getHeader("X-Forwarded-For"); if (ip != null) { if (!ip.isEmpty() && !"unKnown".equalsIg

  • Java如何获取数组和字符串的长度(length还是length())

    限时 1 秒钟给出答案,来来来,听我口令:"Java 如何获取数组和字符串的长度?length 还是 length()?" 在逛 programcreek 的时候,我发现了上面这个主题.说实话,我当时脑海中浮现出了这样一副惊心动魄的画面: 面试官老马坐在我的对面,地中海式的发型令我敬佩有加.尽管略显疲惫,但他仍然自信地向我抛出了上面这个问题.稍稍迟疑了一下,我回答说:"数组用 length,字符串用 length 跟上小括号".老马不愧是面试中的高手,一瞬间就从我的

  • 详解JAVA中获取文件MD5值的四种方法

    JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过MessageDigest类进行MD5加密,第三步转换成16进制的MD5码值.几种方法的不同点主要在第一步和第三步上.具体可以看下面的例子: 方法一. private final static String[] strHex = { "0", "1", "2"

  • Java编程获取文件列表及子文件目录的方法(非递归)

    废话不谈,直接进入正题,理解见代码注释. // 非递归 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(

  • java正则表达式获取指定HTML标签的指定属性值且替换的方法

    实例如下: public static String repDomain(String source, String domain, String element, String attr) { String img = ""; Pattern p_image; Matcher m_image; String regEx_img = "<" + element + "[^<>]*?\\s" + attr + "=['\

随机推荐