为了账号安全,请及时绑定邮箱和手机立即绑定

为什么(byte)128等于-128

为什么(byte)128等于-128

呼唤远方 2019-03-20 18:15:52
  System.out.println((byte) 128);//-128
查看完整描述

3 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

  1. 128 是一个 int 类型整数 00000000 00000000 00000000 10000000, 长度为 32 位

  2. byte 类型整数长度为 8 位, 所以强制转换后为最后 8 位 10000000

  3. 从左往右第一位为符号位,0 时值为 0~1271 时值为 -128~-1

  4. 调用 System.out.println(int) 时 Java 把 byte -128 转回 int -128

  5. 所以 (byte) 128 == (int) -128


查看完整回答
反对 回复 2019-04-25
  • 3 回答
  • 0 关注
  • 1403 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号