关于int最大值的问题

vic_gakki 2017-10-01 09:45:28
设置 int x=2147483648 为什么不报错?
...全文
1375 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcyh 2017-11-06
  • 打赏
  • 举报
回复
肯定会报错,除非是编译器提示不出来错误,但是运行的时候肯定是错误的
yrftc 2017-11-02
  • 打赏
  • 举报
回复
终于知道了 谢谢
穿越清华 2017-11-02
  • 打赏
  • 举报
回复
int 数值范围-2^32”~2^32-1 即-2147483648~2147483647 超过会报错
weixin_40905532 2017-11-02
  • 打赏
  • 举报
回复
超出范围, 再怎么换,规则已经定好了,没意义。
李德胜1995 2017-10-11
  • 打赏
  • 举报
回复
.... 先问是不是。。再问为什么???
艾恩iron 2017-10-11
  • 打赏
  • 举报
回复
你运行一下就能看到报错了
聪头 2017-10-09
  • 打赏
  • 举报
回复
得运行一下
自由自在_Yu 2017-10-09
  • 打赏
  • 举报
回复
你是怎么设置的,这个肯定报错呀,超出范围了
偏安zzcoder 2017-10-09
  • 打赏
  • 举报
回复
直接用Notepad++编辑MaxInt.java,用命令行编译运行,结果如下

public class MaxInt{
public static void main(String []args){
int val=2147483648;
System.out.println(val);
}
}

Ma Ding 2017-10-07
  • 打赏
  • 举报
回复
脑补一下Java 数据类型: int 类型占用4个字节,1个字节=8bit,1个bit取值0|1,所以下面的等式就成立了 二进制Max:01111111111111111111111111111111(符号位+长度) = 十进制(2147483647)
茉莉小姐啊 2017-10-03
  • 打赏
  • 举报
回复
会报错啊 会提示你超出了Int范围
vanenea 2017-10-01
  • 打赏
  • 举报
回复


小公牛123 2017-10-01
  • 打赏
  • 举报
回复
都不报错啊 我 给你个网址你看下这里讲的 你这里x的值 是int范围里的最大值 当最大值+1时 就会变成最小值 就是 -2的 31ci方-1 http://blog.csdn.net/cin_ie/article/details/49666249
shangcunshanfu 2017-10-01
  • 打赏
  • 举报
回复
直接给会报错, int x=2147483647; int y=x+1; 这个不报错,y=-2147483648

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧