`
modabobo
  • 浏览: 506144 次
文章分类
社区版块
存档分类
最新评论

java byte数组位运算 为什么 & 0xff

 
阅读更多

java 中 当 比int型 位数小 的 char ,byte 在进行位运算时都会被扩展成int 型来运算;

byte b=-64

-64 的原码 11000000

反码 10111111

补码 11000000b的整型值在扩展时最左边一位是符号位1,扩展后就是11111111 11000000

0xff 的值是00000000 11111111

b & 0xff 的结果是00000000 11000000

11111111 11000000

& 00000000 11111111

————————————

00000000 11000000

这就是为 保护结果都只会得到最后的八位 为byte 型

参与运算的是int型 但是结果我们需要的是byte的

ret[i] = (byte)(data[i] & 0xFF);

这在进行图片处理中是必要的

分享到:
评论

相关推荐

    与上0xFF的意义.zip

    有些人,不太懂,C语言中为什么出现“&0xFF”,它存在的意义是什么,是补零?不会,他只是按位与,没有补零的功效,那到底是什么,这里会告诉你,而且不枉你的5积分!

    PowerShell创建Byte数组例子

    创建一个字节数组,数组元素个数为100个,每个数组元素的值为0xFF。 代码如下: $byteArray = [Byte[]] (,0xFF * 100) 这里要解释一下,Byte[]表示字节类型,而把Byte[]再用中括号括起来,是表示一种数组类型。0xFF...

    JAVA微信公众平台Token验证

    首先要开启开发模式必须要进行Token的一个验证,你给出一个地址,微信发送请求,然后你给出相应,...虽然说是简单,但是这是事后才说的,官方只有PHP的DEMO,我用JAVA开发的时候各种蛋疼不会弄,不过好在还是弄出来了。

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架.rar

    但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的&#...

    撰写Python图像处理文章的支撑.rar

    GitHub - eastmountyxz/ImageProcessing-Python: 该资源为作者在CSDN的撰写Python图像处理文章的支撑,主要是Python实现图像处理、图像识别、图像分类等算法代码实现,希望该资源对您有所帮助&#xff0c...

    winhex先add再xor运算脚本

    对于winhex当中有着一定的帮助,可以试试

    MPU6050六轴传感器实验STM32F407开发板KEIL软件工程源码.zip

    tbuf[0]=(aacx>>8)&0XFF; tbuf[1]=aacx&0XFF; tbuf[2]=(aacy>>8)&0XFF; tbuf[3]=aacy&0XFF; tbuf[4]=(aacz>>8)&0XFF; tbuf[5]=aacz&0XFF; tbuf[6]=(gyrox>>8)&0XFF; tbuf[7]=gyrox&0XFF; tbuf[8]=(gyroy>>...

    C#上位机源代码

    tbuf[2]=(a>>8)&0XFF; tbuf[3]=a&0XFF; tbuf[4]=(b>>8)&0XFF; tbuf[5]=b&0XFF; tbuf[6]=(c>>8)&0XFF; tbuf[7]=c&0XFF; tbuf[8]=(d>>8)&0XFF; tbuf[9]=d&0XFF; tbuf[10]=(e>>8)&0XFF; tbuf[11]=e&0XFF; ...

    Java中byte转int的方法

     比如:若aByte=0xff(即数值为-1)。则转化为int后。i为0xffffffff。数值仍为-1。  2)保持低字节中各个位不变,3个高字节所实用0填充  应用场景:编解码操作,  方法:?用位操作:int i = aByte & 0xff。 ...

    把bin填充0xFF到指定大小(含源码)

    在mcu开发的时候, 特别是做升级文件的时候, 我们有时候需要把一个bin文件,填充指定大小,填充0xFF。 做了一个很简单的小工具,填充0xFF,到指定大小,例如16K。利用批处理就可以执行,支持相对路径。

    STM32寄存器操作

    STM32 的GPIO寄存器的详细介绍,以及寄存器多位同时操作技巧。

    Python 算法集.rar

    容易阅读,容易理解每个算法的基本思想。希望阅读本文后能对你有所帮助。 前排友情提示,文章较长,建议收藏后再看。 这可能是史上最全的 Python 算法集!|技术头条 目录 ...

    51单片机实现LED流水灯(数组方式和位运算方式)

    名称:51单片机实现LED流水灯(数组方式和位运算方式) 说明:今天又重新开始系统的学习51了,LED就算个开端吧。 要注意两点: 1、sfr和sbit是C语言扩展出来的关键字。其中sfr用于对特殊功能寄存器进行声明,sbit用于...

    C#项目源码+变速箱空载换档试验+试验控制+广汽空载试验台

    C#项目源码+变速箱空载换档试验+试验控制 广汽空载试验台 设计相关参数配置 产品及试验参数配置 RFID... byte ItemByte1 = (byte)(ItemWord_2 & 0xff); //低8位--->高8位 byte ItemByte2 = (byte)((ItemWord_2 >> 8)

    python实现颜色rgb和hex相互转换的函数

    下面的python代码提供了两个函数分别用来将rgb表示的颜色转换成hex值,hex转换成rgb,rgb为一个三个数的元祖,如(128,255,28),hex为数字876645 def hex2rgb(hexcolor): rgb = [(hexcolor >> 16) & 0xff, (hex...

    51单片机Modbus_RTU

    //& 0xff tempData = ( receBuf[4]) + receBuf[5]; setRegisterVal(tempAddr,tempData); sendBuf[0] = localAddr; sendBuf[1] = 6; sendBuf[2] = addr >> 8; sendBuf[3] = addr & 0xff; sendBuf[4] = ...

    小尺寸LCD 驱动IC ST7735S驱动源码,包含.c .h文件.zip

    #define LCD_RESET_HIGH BM_SET(reg_gpio_out(LCD_ST7735S_PIN_RESET), (LCD_ST7735S_PIN_RESET & 0xff)) //RESET SET HIGH #define LCD_RESET_LOW BM_CLR(reg_gpio_out(LCD_ST7735S_PIN_RESET), (LCD_ST7735S_...

    标准MFC WinSock ActiveX控件开发实例(II)高级篇

    buffer[m++] = (gData.intVal>>24)&0xff; buffer[m++] = (gData.intVal>>16)&0xff; buffer[m++] = (gData.intVal>>8)&0xff; buffer[m++] = gData.intVal&0xff; } } else { ...

    DES对称分组密码系统的Java实现

    import java.security.spec.*; import javax.crypto.*; import javax.crypto.spec.*; class DES01 { private String ... + java.lang.Integer.toHexString(data[i]&0xFF); } return str.toUpperCase(); } } }

    LCD驱动横屏显示ST7735S

     LCD_WR_DATA8(0X0000&0XFF);  LCD_WR_DATA8(0X009F>>8);   LCD_WR_DATA8(0X009F&0XFF);  LCD_WR_REG(lcddev.setycmd);   LCD_WR_DATA8(0X0000>>8);   LCD_WR_DATA8(0X0000&0XFF);  LCD_WR_DATA8(0X007F...

Global site tag (gtag.js) - Google Analytics