今天无意在一本java和一本c的书发现,俩书中int类型的取值范围不一样!
  在c中说是2个字节,而java中说的是4个字节!
    据我所有知int应该是4字节的,那是不是说在c中它的取值就变了呢?还是说那书有问题?

解决方案 »

  1.   

    这个涉及到 跨平台的问题 啊, java没有sizeof在哪里 都一样 ,呵呵 
      

  2.   

    书没有问题,int在c中长度就是2字节。记住就好了。
      

  3.   

    听老师说过java支持中文,反正世界上的什么文它都能支持,所以是4个字节c语言不支持,所以说java相对c是个提升,希望能赚几分,谢谢谢谢我想要3分,可以吗?
      

  4.   

    我刚找了一下,是不是说java中没有无符号数,所以它是2^32,而c中int又分singed int 和unsigned int ,面是每种都是2^16,是不是可以这样理解?
      

  5.   

    int这类的关键字是由语言自定义的。像C语言里面还分带符号的int,和无符号的int,java就没有这种区分。
      

  6.   

    在java中Int是四个字节,在C中根据运行平台的不同可以是两个字节也可以是4个字节,所以在C中使用Int要留意
      

  7.   

    援自深入jVM中的片段:他的基本数据类型的值域和行为是由语言自己定义的。在c这样的语言中,基本数据类型int的值域是由他的占位宽度决定的,而占位宽度是由目标平台决定的。一般来说,c中int的占位是由编译其分局目标平台的字长来决定,这就意味针对不同平台编译的同一个程序,在运行时可能会有不同的行为。然而对于java程序,不管平台是什么。java中的int都是32位2进制补码表示的有符号整数。同样,这一点在java虚拟机内部以及class文件中都是一致的。通过确保基本数据类型在所有平台的一致性,java为java程序的平台无关性提供了强有力的支持。
      

  8.   

       java程序的平台无关性···
      

  9.   

    在C中的int类型变量分为有符号和无符号参数的区别,但是在java中却没有,所有int数据都是32位的表示,所以只要不越界,在什么平台编译通过都可以运行
      

  10.   

    在C#中int 有int32 int 64而java中只有统一的一个