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

《Java puzzlers》里关于 sign extension 的示例

《Java puzzlers》里关于 sign extension 的示例

一只萌萌小番薯 2019-03-29 19:19:59
原文:If you are converting from a byte value b to a char and you don’t want signextension, you must use a bit mask to suppress it. This is a common idiom, so nocomment is necessary:char c = (char) (b & 0xff);没有get到 sign extension的含义!以及为什么这么做就没有sign extension
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

首先char是16位 byte是8位 byte有负数形式 char没有 如果直接做移位 负数的byte会直接根据首位的符号位1直接扩展 变成111111111xxxxxx形式 而做位与则不会出现这个问题


查看完整回答
反对 回复 2019-04-23
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

我理解是符号位


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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信