美文网首页
为何后台返回的-1,在iOS端显示:(long)72057594

为何后台返回的-1,在iOS端显示:(long)72057594

作者: 从前车邮马慢 | 来源:发表于2020-08-21 17:45 被阅读0次

    72057594037927935 等于 0x 00FFFFFF FFFFFFFF 七个字节全FF
    本来是个long类型的数字,强制转化成int类型,就只取后面4个字节,前面的丢弃了
    也就是0xFFFFFFFF——>0b11111111 11111111 11111111 11111111
    因为是int类型,而不是unsigned int,所以第一位二进制作为符号位,0是正数,1是负数,这里的最高位是1,所以是负数。
    因为是负数,所以后面的数需要取反码,即全部取反,0—>1, 1—>0, 然后再加1
    31个1取反就是31个0,再加1,就是1,符号位是1,代表负数,所以这个值就是-1

    相关文章

      网友评论

          本文标题:为何后台返回的-1,在iOS端显示:(long)72057594

          本文链接:https://www.haomeiwen.com/subject/qdhpjktx.html