java中的byte类型是有符号的,值得范围是-128-127

做网络通讯时,接收过来的数据往往都是无符号的byte,值得范围是0-255

因此直接转换时,存储到java显示的值就会有问题

int ori=200;
System.out.println("原始byte值:"+ori);
Byte b=(byte)ori;
System.out.println("java中byte值:"+b);
Integer i=b.intValue();
System.out.println("转换后的int值:"+i);
System.out.println("存储的2进制值:"+Integer.toBinaryString(i));
Integer i_trans=i&0xFF;
System.out.println("&0xFF后的:"+i_trans);

输出如下:

原始byte值:
java中byte值:-
转换后的int值:-
存储的2进制值:

例如接收到一个无符号的byte,值200,转到java中的byte,转换后就是-56,因此显示就不正确,需要将服务号的转成有符号的

计算方法就是与0xFF做一个&运算,也就是与11111111做一个&计算即可

java 无符号byte转换的更多相关文章

  1. java无符号Byte

    1.无符号byte, 实现了将byte(-128~127) 转换为 (0~255) class UnsignedByte { private short value; private byte raw ...

  2. java有符号无符号的转换

    数据处理中常常遇到基本数据类型的操作,java都是有符号的数据,而与下位机通信中常常遇到无符号的比如uint8, uint16,uint32等等 1.为了完成这个功能还专门采用ByteBuffer的方 ...

  3. java无符号移位(>>>)和有符号移位(>>)

    java中>>(<<)表示有符号的移位.<<<(>>>)表示无符号移位 如: int num = 22; 二进制是0001 0110, nu ...

  4. 有符号无符号bit转换

    int main(){ unsigned short i = 65434; short p = i; printf("%d", p); int sp; scanf_s(" ...

  5. Java 与无符号那些事儿

    最近在使用 Java 作为 WebSocket 客户端连接 Node.js 的 WebSocket 服务器的时候,由于使用的客户端库比较老,所以遇到了字节符号的问题,上网查了一下,看到这篇文章写的很有 ...

  6. 获取java byte的无符号数值

    byte a = (byte)234; System.out.println(a); 上面的代码,结果是-22,因为java中byte是有符号的,byte范围是-128~127. 如果想输出234,该 ...

  7. 利用Java位运算符,完成Unsigned转换(无符号)

    方案二:利用Java位运算符,完成Unsigned转换. 正常情况下,Java提供的数据类型是有符号signed类型的,可以通过位运算的方式得到它们相对应的无符号值,参见几个方法中的代码: publi ...

  8. java中有符号和无符号数据类型发生转换

    package com.itheima.test01;/* * byte short int long float double 是有符号位的数 * char boolean 是无符号位的数 * 补码 ...

  9. java中无符号类型的处理

    在Java中,不存在Unsigned无符号数据类型,但可以轻而易举的完成Unsigned转换. 方案一:如果在Java中进行流(Stream)数据处理,可以用DataInputStream类对Stre ...

随机推荐

  1. 深入理解Javascript中this, prototype, constructor

    在Javascript面向对象编程中经常需要使用到this,prototype和constructor这3个关键字. 1.首先介绍一下this的使用:this表示当前对象;如果在全局中使用this,则 ...

  2. case的执行顺序 & 嵌套使用

    我们先来看一下表中数据的情况: select * from PRODUCTINFO PRODUCTID PRODUCTNAME PRODUCTPRICE QUANTITY CATEGORY DESPE ...

  3. Javascript 右移0位的作用

    Javascript 中右移0位可以用来快速去掉小数,关于位移运算的定义: 右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位. 实际看下 ...

  4. 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据

    使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...

  5. android studio对于错误拼写/不识别的英文单词,给予波浪提示

    使用自己的名字当Tag.却发现有个非常不用好的提示.波浪,我浪个你妹. Typo:In word ‘miyuehu’ less...(Ctrl+F1) spellchecker inspection ...

  6. 《Android深度探索HAL与驱动开发》第四章阅读心得

     Android源代码包含了很多内容,可以实现拍照.计算机.日历.相册.拨号器等功能.配置Android源代码下载环境需要如下几步: (1)创建一个用于存放下载脚本文件的目录:  (2)下载repo脚 ...

  7. 计算机网络自学之路------IP协议(2)

    之前忘记说了,这些内容都是边看视频边写的,视频出自西安交通大学. 本期说的是IP分组转发的内容,里面详细介绍了IP协议跟ARP协议,最后再给出一个例子,说明这两个协议在网络中传输的具体过程. 1)Ip ...

  8. Ubuntu下配置Pyspider环境

    Ubuntu 14.04.4 LTS 1.ubuntu 系统自带Python 所以不用安装Python 注:安装前先更新下软件源 命令 :sudo apt-get update 2.开始安装pip 命 ...

  9. Linux软raid创建

    RAID: HBA:基于主机的适配器 RAID:Redundent Array of Inexpensive Disks 廉价磁盘阵列 Independent       独立磁盘阵列 Level:仅 ...

  10. shell 脚本技巧

    1.Give ECHO colors see see! NORMAL=$(tput sgr0) GREEN=$(tput setaf ; tput bold) YELLOW=$(tput setaf ...