不同的数据类型是否分配不同的内存量?

时间:2012-09-14 00:48:03

标签: memory-management

例如,如果我添加一个短整数和一个浮点数据类型,每个会分配相同数量的内存吗?它们具有不同的最大值,但也有不同的数据结构,所以我不确定。 另外,数学运算在不同的数据类型下会花费不同的时间吗?

2 个答案:

答案 0 :(得分:2)

如果不知道您使用的是哪种语言/硬件,很难完全回答这个问题,但在大多数情况下,不同的数据类型会占用不同的内存量,数据类型会影响数学运算的速度。例如,在Java和C#中,short是16位,float是32位。我希望浮点数学通常比整数数学慢,尽管这可能很复杂,如this post中所述。

对于其他语言(例如C),基本数据类型的大小取决于硬件,因此在某些机器上int可能是32位而在其他机器上可能是64位。

答案 1 :(得分:1)

我们拥有数据类型的原因是效率。这包括数据的大小和处理(类型)。

char数据类型有8位(您也可以将其称为8-bit integer,因为数值只是映射到ASCII表中的字符)= 256个可能的值

A 32-bit integer有...你猜对了32位=2³²可能值

通过移位或比较这些位来执行数学运算。

更多位=更多操作=更多时间

参考:http://en.wikipedia.org/wiki/Data_type

相关问题