例如,如果我添加一个短整数和一个浮点数据类型,每个会分配相同数量的内存吗?它们具有不同的最大值,但也有不同的数据结构,所以我不确定。 另外,数学运算在不同的数据类型下会花费不同的时间吗?
答案 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³²可能值
通过移位或比较这些位来执行数学运算。
更多位=更多操作=更多时间