zoukankan      html  css  js  c++  java
  • java中byte short int的理解

    需求:做到一个项目,单片机读取两个字节,这两个字节组成一个补码表示的两字节整形值。在单片机端,只是把这两个字节写到一个字符串中,发向上位机。

    分析:首先在java中,涉及byte、short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果。

    但是在这个问题中,低字节一定是正的,因此低字节跟0xff进行与运算,使得高位都归零,也即

    0x0000 00ff (有0xff扩展得到)

    0xFFFF FFFF (由l(byte)扩展得到,因为byte是有符号的,但是低位数据实际上是无符号的)

    =0x0000 00ff

    对于高位数据

    要保持其符号位,因此直接左移一个字节即可,最后相加,拼接完毕。

    byte h=(byte)0xff;
    byte l=(byte)0xFF;
    short a = (short)(l & 0xff+h*256);
  • 相关阅读:
    卷积神经网络
    TensorFlow线性回归
    TensorFlow常用操作
    TensorFlow基本计算单元——变量
    Pandas基础
    Numpy基础
    Python基础
    Windows下安装TensorFlow教程
    mongodb并列查询,模糊查询
    C#对Mongodb数组对象操作
  • 原文地址:https://www.cnblogs.com/zjgtan/p/2963719.html
Copyright © 2011-2022 走看看