【问题标题】:Does a number as a character take less space than a number as an integer?作为字符的数字是否比作为整数的数字占用更少的空间?
【发布时间】:2018-10-15 11:23:37
【问题描述】:

例如是这样

char x = '1';

占用的空间小于

int x = 1;

还是一样?

【问题讨论】:

  • 如果您希望单个数字占用尽可能少的空间,您应该使用byte 数据类型。它占用的空间是char 的一半。
  • 在这里你能做的最好的就是一点点。单个位可以表示 0 或 1。您可以将其中的 32 个打包到 int

标签: java char numbers int


【解决方案1】:

char 占用 2 个字节,int 占用 4 个字节。

所以,是的。 char 占用的空间更少。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

【讨论】:

  • 在 64 位架构上,它可能只有在您可以将多个它们组合成一个单词时才有意义。在所有条件相同的情况下,生成的将它们再次从单词中取出的指令可以填充比数据本身更多的内容。
  • 哇。谢谢?。 :+)
【解决方案2】:

一个字符需要 16 位。 一个 int 需要 32 位。

【讨论】:

    【解决方案3】:

    Char 将字符常量存储在内存中。它假定大小为2 bytes,但基本上它只能容纳一个字符,因为 char 存储 unicode 字符集。它的最小值为‘u0000’(或0),最大值为‘uffff’(或65,535,含)。但整数为4 bytes

    其他原始类型的范围和大小;

    Type            Size            Range of values that can be stored
    byte            1 byte          −128 to 127
    short           2 bytes         −32768 to 32767
    int             4 bytes         −2,147,483,648 to 2,147,483,647
    long            8 bytes         9,223,372,036,854,775,808 to9,223,372,036,854,755,807
    float           4 bytes         3.4e−038 to 3.4e+038
    double          8 bytes         1.7e−308 to 1.7e+038
    

    【讨论】:

      【解决方案4】:

      IntegerCharacter类中,有一个SIZE字段,表示使用空间(位)。整数使用 32 位,字符使用 16 位。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-15
        • 1970-01-01
        相关资源
        最近更新 更多