博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java.lang.Integer.toHexString(b[n] & 0XFF)中0XFF使用的必要性
阅读量:5787 次
发布时间:2019-06-18

本文共 387 字,大约阅读时间需要 1 分钟。

byte[] b = {1,2,20,108};

String stmp = java.lang.Integer.toHexString(b[n] & 0XFF)

 

在32位的电脑中数字都是以32格式存放的,如果是一个byte(8位)类型的数字,他的高24位里面都是随机数字,低8位

才是实际的数据。java.lang.Integer.toHexString() 方法的参数是int(32位)类型,如果输入一个byte(8位)类型的数字,这个

方法会把这个数字的高24为也看作有效位,这就必然导致错误,使用& 0XFF操作,可以把高24位置0以避免这样错误

的发生

 

0xFF = 1111 1111  低8位为1,高位都为0

故 &0xFF 可将数字的高位都置为0,低8位不变

 

转载于:https://www.cnblogs.com/xxdfly/p/5667854.html

你可能感兴趣的文章
Android Studio使用Android Annotations注解框架笔记
查看>>
CR(code review)常见问题
查看>>
MapReduce的模式、算法和用例
查看>>
手把手叫你玩转网络编程系列之三 完成端口(Completion Port)详解
查看>>
JVM类加载机制详解
查看>>
[转]Windows 性能监视器工具-perfmon
查看>>
Maven中如何配置WAR依赖WAR和JAR的多模块项目结构
查看>>
最长公共子序列
查看>>
Thread的run()与start()的区别
查看>>
hadoop上传文件报错
查看>>
requirejs 学习笔记 0
查看>>
centos7 端口相关操作
查看>>
bootstrap3 - 分页
查看>>
Linux中Kill进程的N种方法
查看>>
【MongoDB系列】:MongoDB 查询应用
查看>>
printFinal用法示例
查看>>
HBuilder从下载到使用
查看>>
【JavaScript高级程序设计】--第1章 JavaScript简介
查看>>
计时器,3分钟停止
查看>>
Nginx + uWSGI + Flask + Vhost
查看>>