当前位置: 代码迷 >> Java相关 >> 这个算术怎么算啊,书上拿来的
  详细解决方案

这个算术怎么算啊,书上拿来的

热度:146   发布时间:2006-03-19 00:11:00.0
这个算术怎么算啊,书上拿来的
public class Testlnt
{
public static void main(String args[])
{
int i=15;
int j=015;
int k=0x15;
System.out.println(i);
System.out.println(j);
System.out.println(k);
}
}
这个算术输出为15 13 21 可是考试时候笔试怎么算啊
搜索更多相关的解决方案: 算术  

----------------解决方案--------------------------------------------------------
你去 学2进制8进制  16进制吧    很快就能明白  不用10分钟的
----------------解决方案--------------------------------------------------------
这就是JAVA里面的进制问题啊
普通数字表示是十进制,如果是以"0"开头的数字表示是八进制
而如果是以"0x"就表示是十六进制了
其实也很简单,十进制众所周知就是满十进一位,所以八进制当然是满八进一位啦
那么十六进制也是满十六位进一位.
十进 制:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17....
八进 制:1 2 3 4 5 6 7 10 11 12 13 14 15 20 21 22 23....(前面都省略了一个"0")
十六进制:1 2 3 4 5 6 7 8 9 A B C D E F 10 11....(前面都省略了"0x")
----------------解决方案--------------------------------------------------------

还是不明白哦,
15变15我明白
015怎么变13了?
0x15又怎么变21呢?


----------------解决方案--------------------------------------------------------

015是八进制的,八进制就是逢八进一,那么010就是8了,011就是9了,012就是10了,013就是11了
014就是12了,所以015就是13。
你要记住 ,八进制里面是没有八的,到七就要进一位了,所以继续往后算的话
016就是14,017就是15,那么018是没有的,所以017后面就是020了
那么0x表示是十六进制,也就是说到了16才进一位,但是我们的16这个数已经进位了,那怎么办呢
所以就用ABCDEF来代替10 11 12 13 14 15,到了16的时候,就写成10。
0x15当然可以看成是0x10+0x5啦,那么0x10就是16,16+5不就是21了吗,


----------------解决方案--------------------------------------------------------
楼上解释的已经很好了 再不懂就只能拿书从2进制学起了
看看C语言吧 有帮助的


----------------解决方案--------------------------------------------------------

满意


----------------解决方案--------------------------------------------------------

呵呵,太菜了吧,这也问啊


----------------解决方案--------------------------------------------------------

基础啊!!!
----------------解决方案--------------------------------------------------------
  相关解决方案