我在这一行收到了上述错误:
Int16 maskBits = 0xFFFF;
我这样做是因为我正在使用用C ++编写的Box2D库。 它说here:
" categoryBits的默认值为0x0001,maskBits的默认值为0xFFFF"
我认为0xFFFF或65535是Int16
的最大值?
编辑:应该是一个UInt16 duuh !!谢谢大家!
答案 0 :(得分:3)
0xFFFF适用于UInt16。对于Int16,最大值为32767。
答案 1 :(得分:3)
0xFFFF
肯定不是16位的有符号字面值,它至少(取决于您的语言:您标记了一对)32位,值为65535.转换为带符号的16位有符号数字将失败,因为最大值是32767。
答案 2 :(得分:1)
int16的最大值是32767,即0x7FFF
答案 3 :(得分:1)
int16
的最大值是32767,因为它已签名(最小值为-32768)
您需要uint16
类型(因为它是无符号的)。这将给出最大值65535(即0xFFFF)和最小值0。