我无法理解以下行为。
我试图使用二进制文字声明字节掩码:
byte mask = 0b1111_1111;
但这是不可能的,因为我收到以下错误消息:
类型不匹配:无法从 int 转换为 byte
最有趣的是,当我尝试直接以十进制表示形式声明掩码时
byte mask = -1;
我没有得到任何错误,但是这两种表示应该绝对相等!
我究竟做错了什么?
提前致谢。
您可以安全地分配一个值-2^7 to 2^7-1 (-128 to 127)
to a byte
,因为它是 8 位。
然而0b1111_1111
= 255
所以需要演员阵容
byte mask = (byte) 0b1111_1111;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)