课程
/后端开发
/Java
/Java入门第一季(IDEA工具)升级版
int num = 999;
int count = 0;
do
{
count++;
num=num/10;
}
while(num >0);
System.out.println("它是个" + count + "位的数!");
2017-08-11
源自:Java入门第一季(IDEA工具)升级版 4-15
正在回答
首先jdk中定义int占4个字节,也就是32位,
32位可以理解为jvm只给分配32个格子的空间,用以存放数据。
但是Java中int有正负之分。所以32个格子中占用一个格子标识正负。
所以只能用31个格子来标识数值。
所以int能标识的最大/最小数字是:2的31次方:+/- 2147483648(刚好十位数),
如果要测试到11位,建议把 int类型改成long int 就行了
折_柳 提问者
我也很绝望_但只能继续学啊 回复 折_柳 提问者
Java代码中直接书写的数字是int类型的,就是说数字的范围在 -2^31 到 2^31 - 1 这个范围之中.
应该是超出int型范围了
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
4 回答判断一个数(小于10位)的位数。为什是死循环了。求解!
2 回答测试数据测试数据123123加微信
3 回答最多只能到999999999 9位吗?不能10位吗
2 回答int num=999, num=num/10 就此题而言怎么是三位数 99.9; 9.99;0.999循环后不就是两位数吗
2 回答为什么最多只能输入到9位数?