zoukankan      html  css  js  c++  java
  • java byte&0xFF

    做串口端口通讯时,数据都是以byte类型发送的

    普通的byte范围是-128-127,而java的byte范围是0-255

    因此将数据的byte转成java的byte时,需要与0xff(11111111)做一个&运算,将-128-127转换到java的0-255之间

    也就是与 0xff 做 & 运算会将数据 byte 值变成 java的byte 类型的值,也将 -128~0 间的负值都转成正值了。

    System.out.println("1的编码:"+Integer.toBinaryString(1));
    //java中的负数是取补码+1
    System.out.println("-1的编码:"+(Integer.toBinaryString(-1)));
    System.out.println("0XFF的编码:"+Integer.toBinaryString(Integer.valueOf("FF",16)));
    System.out.print("-1 & 0xFF:");
    System.out.println(-1 & 0xFF);
    System.out.print("1 & 0xFF:");
    System.out.println(1 & 0xFF);

    打印输出

    1的编码:1
    -1的编码:11111111111111111111111111111111
    0XFF的编码:11111111
    -1 & 0xFF:255
    1 & 0xFF:1
  • 相关阅读:
    数据结构与算法(0)--必知必会
    数据结构概览
    Python 数据分析学习路线
    数据分析交互工具--使用jupyter
    Vue项目搭建
    luffy_08
    luffy_07
    luffy_06
    luffy_05
    luffy_04
  • 原文地址:https://www.cnblogs.com/king1302217/p/5941590.html
Copyright © 2011-2022 走看看