java 0xff00_& 0xFF 与 & 0xFF00 的作用

java 0xff00_& 0xFF 与 & 0xFF00 的作用c[i]=(char)(b[i]&0xff)(b[i]为byte型,c[i]为char型)觉得与一下0xff没什么用。直接c[i]=(char)b[i]有何异?如:((WORD)((((WORD)(wData)>>8)&0xff)|(((WORD)(wData)<<8)&0xff00)))charc=(ch…

大家好,又见面了,我是你们的朋友全栈君。

c[i] = (char) (b[i] & 0xff) (b[i]为byte型,c[i]为char型)

觉得与一下0xff没什么用。直接c[i] = (char)b[i]有何异?

如: ((WORD)((((WORD)(wData) >> 8) & 0xff) | (((WORD)(wData) << 8) & 0xff00)))

char c = (char)-1 & 0xFF;

char d = (char)-1;

System.out.println((int)c);

System.out.println((int)d);

这样输出是

255

65535

上面代码就是为了避免错误

补充一下:

1)。位运算符只针对4byte的int型

2)。-2的byte类型 16进制表示为 FE(2取反加1)

3)。-2 & 0xFF运算: 实际-2带符合bit-wise成int,即FE会变成FFFFFFFE(2取反加1), 接着

0xFFFFFFFE & 0x000000FF = 0x 000000FE; 如果不&,就是FFFFFFFE。

1) 位运算不限制为int, long也行的。

2)

3) 负数进行&操作时需要转成补码,-2 的补码是0xFFFFFFFE

因为byte的取值范围是 -128~127,而Char是0~65535

所以需要& 0xFF 使得byte原来的负值变成正的

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150803.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • TCN代码随记(如何记代码)

    标题np.arange()np.arange()函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是6,步长为1。参数个数情况:np.arange()函数分为一个参数,两个参数,三个参数三种情况1)一个参数时,参数值为终点,起点取默认值0,步长取默认值1。2)两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1。3)三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长。其中步长支持小数np.random.shufflenp.random

  • EFI shell操作

    EFI shell操作进入EFIshell后,切换盘符使用fs0:(注意冒号不能丢)

  • 移位寄存器专题(verilog HDL设计)

    移位寄存器专题(verilog HDL设计)目录移位寄存器简介分类4位右移位寄存器工作原理1、16位右移位寄存器2、16位左移寄存器3、串行输入并行输出寄存器4、并行输入串行输出移位寄存器移位寄存器简介移位寄存器内的数据可以在移位脉冲(时钟信号)的作用下依次左移或右移。移位寄存器不仅可以存储数据,还可以用来实现数据的串并转换、分频,构成序列码发生器、序列码检测器,进行数值运算以及数据处理等,它也…

  • plsql格式化sql语句_notepad格式化sql

    plsql格式化sql语句_notepad格式化sql有时候有些语句特别长的时候,可读性特别差,这时候我们不妨可以使用plsql自带的快速格式化语句功能,帮助我们快速格式化语句未格式化前格式化后 …

    2022年10月12日
  • Node.js excel转json

    Node.js excel转json这个是8月初做的,之前公司项目需要国际化,在项目本地会有两份json数据,一个中文的一个英文的,但是公司产品经理提供的数据是excel格式,需要我们自己转一次。最初几次数据量不大,一次50条左右,我都是手动的添加了几次,后来发现不行,每次这么搞容易出错且比较耗时,就写了这么一个工具,使用起来效率倍增,启动运行一下这个项目,然后粘贴复制即可。其实使用Node.js把excel转成json很简单…

  • 项目活动图 – 举例说明

    项目活动图 – 举例说明关键路径:从开始到结束的所有路径中,时间最长的一条为关键路径。(特点:在关键路径上,所有任务的松弛时间都为0);松弛时间:第一种方法:最晚开始时间-最早开始时间;第二种方法:关键路径的总时间-包含该任务的任务路径花的时间;(前提条件:必须不影响该任务以后的任务路径)举例:关键路径:A-B-D-G-I-K-L=22由前向后推可得出…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号