Skip to content

Conversation

@bmbjx
Copy link

@bmbjx bmbjx commented Nov 11, 2025

新增内容

Java中,byte类型参与运算时会自动提升为int类型,高位通过符号位扩展填充,正数补0,负数补1,byte & 0xFF会先将byte类型提升为int类型,然后将高24位置为0,去掉符号位的影响,仅保留低8位的原始值,从而得到原byte类型值的无符号整数值。

修改内容

文章中举例的值为-118。
原码:00000000 00000000 00000000 10001010 -> 10000000 00000000 00000000 01110110
反码:11111111 11111111 11111111 11110101 -> 11111111 11111111 11111111 10001001
补码:11111111 11111111 11111111 11110110 -> 11111111 11111111 11111111 10001010

删除内容

还原为原码后为
00000000 00000000 00000000 10001010

注:0XFF和-118进行&运算后已经是正数,无需进行还原。

修正了文章中错误的原码、反码和补码,补充了byte & 0xFF中类型提升的细节。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant