问答详情
源自:4-15 编程练习

为什么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位数就不行了?

提问者:qq_南山以南雪纷飞_0 2016-07-03 22:14

个回答

  • qq_战神_1
    2016-07-03 22:33:03

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

    看看吧只有10维数