【问题标题】:Difference between int and doubleint 和 double 的区别
【发布时间】:2014-06-26 15:03:25
【问题描述】:

我想知道是否有人可以告诉我为什么有人会使用 int 而不是 double? 似乎 double 比 int 灵活得多。

谢谢

【问题讨论】:

    标签: int double


    【解决方案1】:

    整数运算是精确的。 double 是浮点数据类型,只要有分数,浮点运算就是近似的。

    double 在许多实现中(例如大多数 32 位系统)占用的空间也是 int 的两倍。

    【讨论】:

    • Afaik double 和 int 在 64 位架构上都是 64 位。
    • 我澄清说它是大多数 32 位系统。
    • 完美!请记住 int 因为 C 数据类型在 32 位机器上可以是 16 位!
    【解决方案2】:

    简答:

    int 使用 4 个字节的内存(并且不能包含小数),double 使用 8 个字节的内存。只是用于不同目的的不同工具。

    【讨论】:

    • 你会发现这取决于环境和语言。 c 没有定义 int 的大小。
    • 是的。致电sizeof(int) 可能是您最好的选择。但是你知道现在任何地方是否存在 2 字节整数吗?
    • 是的,Arduino(一种流行的电子原型平台)上的 C 整数是 16 位的。
    【解决方案3】:

    int是整数的二进制表示,double是双精度浮点数。

    【讨论】:

      【解决方案4】:

      intdouble 具有不同的语义。考虑分工。 1/201.0/2.00.5。在任何给定的情况下,其中一个答案是对的,另一个是错的。

      也就是说,在 JavaScript 等编程语言中,64 位浮点数是唯一的数字数据类型。您必须显式截断一些除法结果才能获得与 Java int 相同的语义。 Java 等支持整数类型的语言会自动截断整数变量。

      除了具有与double 不同的语义之外,int 算法通常更快,并且较小的大小(32 位与 64 位)可以更有效地使用缓存和数据传输带宽。

      【讨论】:

        猜你喜欢
        • 2010-10-11
        • 1970-01-01
        • 2015-06-08
        • 2021-11-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多