java吧 关注:1,221,747贴子:12,674,941
  • 12回复贴,共1

eclipse魔怔了

只看楼主收藏回复

i的值为140,o的值等于1,且小于等于15800,p的值等于1,且小于等于15800。
i,o,p,自增。
自增过程中,如果i×o×p=15800则输出i,o,p的值。
但居然是140,11338,13529!??
这是为什么?



IP属地:广东来自Android客户端1楼2022-11-07 21:16回复
    你写的不对吧


    IP属地:江苏来自Android客户端2楼2022-11-07 21:28
    回复
      你取的全是int值,15800除以140能取到整数吗?


      IP属地:江苏来自Android客户端3楼2022-11-07 21:40
      收起回复
        140*11338*13529 = 0101 0000 0000 0000 0000 0011 1101 1011 1000
        取4个字节=15800=0000 0000 0000 0000 0011 1101 1011 1000


        IP属地:北京4楼2022-11-07 21:54
        回复
          还是煤油?


          IP属地:重庆来自Android客户端5楼2022-11-07 23:02
          收起回复
            四楼很清楚了,超出int范围,所以只取到四个字节


            IP属地:广东来自Android客户端7楼2022-11-08 02:08
            回复
              java的int 的最大值是2147483647,可以把这个数字记下,避免以后踩坑


              IP属地:湖南来自iPhone客户端8楼2022-11-08 18:21
              收起回复
                溢出


                IP属地:广东来自Android客户端9楼2022-11-22 13:15
                回复