3个回答
2019-07-24
展开全部
因为int 为带符号类型,带符号类型最高为是符号位,又因为0xFFFFFFFF,也就是四个字节32 bits全是1, 符号位是1,所以这个数是负数。
内存中的数值为补码表示,所以0xFFFFFFFF是一个负数的补码。负数从补码求原码,最高符号位不变,保持 1, 其余各位求反,末尾加1,也就是旁慧行 0xFFFFFFFF,二进制为:11111111 11111111 11111111 11111111
-> 10000000 00000000 00000000 00000000
-> 10000000 00000000 00000000 00000001
原运哗码首位表示符碧册号位,其余位表示绝对值大小,所以,这个数是 -1
内存中的数值为补码表示,所以0xFFFFFFFF是一个负数的补码。负数从补码求原码,最高符号位不变,保持 1, 其余各位求反,末尾加1,也就是旁慧行 0xFFFFFFFF,二进制为:11111111 11111111 11111111 11111111
-> 10000000 00000000 00000000 00000000
-> 10000000 00000000 00000000 00000001
原运哗码首位表示符碧册号位,其余位表示绝对值大小,所以,这个数是 -1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&是按位取与
0xffffffff各位是1111 1111 1111 1111 1111 1111 1111 1111
所以按位取与就是贺清孝它禅稿自正族己,任何32位整数&0xffffffff都等于它自己
0xffffffff各位是1111 1111 1111 1111 1111 1111 1111 1111
所以按位取与就是贺清孝它禅稿自正族己,任何32位整数&0xffffffff都等于它自己
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询