为了账号安全,请及时绑定邮箱和手机立即绑定

为什么11位数用long定义还是超出范围

int x = 999; int sum  = 0; for(int i = 10;i <= 999999999;i *= 10){    if(x / i != 0){        sum++;    }else{        sum++;        break;    } } System.out.println("它是个"+sum+"位的数!"); } 如果我想测试10位数以上的时候,int i的范围就不够了,可是为什么用long也还是不行,只是11位数就不行了?

正在回答

1 回答

long和int类型的范围是一样的-2,147,483,648 to 2,147,483,647

看看吧只有10维数

2 回复 有任何疑惑可以回复我~
#1

qq_南山以南雪纷飞_0 提问者

long的范围不是64位:-9223372036854775808到9223372036854775807么,网上百度了好多都是这么说的ORZ
2016-07-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么11位数用long定义还是超出范围

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信