不必要的较大数据类型、变量类型及其性能的声明

Posted

技术标签:

【中文标题】不必要的较大数据类型、变量类型及其性能的声明【英文标题】:Declaration of unnecessary bigger data types, variable types and their performance 【发布时间】:2015-08-03 07:29:29 【问题描述】:

这里是初学者。需要更深入的了解。四种整数类型:byteshortintlong。所以,除了他们的范围,我应该知道他们的行为。

int i = 1000 ;long l = 1000 ; 之间的区别

我所说的差异是指内存中分配的空间、使用它们时的速度等。在现实生活中设计算法时我必须牢记的任何事情。

一行,如果long可以做int和更多int,为什么还要使用int

在互联网上搜索但没有找到准确的答案。

【问题讨论】:

阅读此javamex.com/tutorials/memory/object_memory_usage.shtml 并查看此答案以获取更多详细信息(内存方面)***.com/a/258150/4807777 【参考方案1】:

long 的大小是int 的两倍,至少在 Java 和大多数 C++ 平台中是这样(在 C++ 中,您实际上必须定义 long 的长度,具体取决于平台可能是 32 位或 64 位,这就是为什么C++ 中有一个long long)。

除了通常的内存使用外,这也可能会影响处理时间,因为可能需要通过总线发送更多数据。您可以在 64 位机器上并行发送 2 个整数。

但很可能您不必考虑所有这些,因为大多数系统的资源并不那么紧张,因此请选择您认为合适的任何内容。

编辑:

如果您在大型数据集上进行操作,使用int 而不是long 可能会节省一些空间,但在这些情况下,实际上可能更明智地设计算法,使其仅对以下数据进行操作立即需要并尽快释放它,即不要将所有内容都保存在内存中。

【讨论】:

以上是关于不必要的较大数据类型、变量类型及其性能的声明的主要内容,如果未能解决你的问题,请参考以下文章

C#类型转换

Python 可变类型和不可变类型,以及其引用

java中的变量及其转换

003C#变量

java数据类型及其运算符

##前端入门基础##创建变量的方式及其之间的区别,点击收藏!!!