考虑到int32位系统上的4个字节和64位系统上的8个字节,为什么float不对待它们?为什么64位系统上的大小为a double=大小float?考虑到当我声明一个int(导致更高的性能)时选择了最好的原生整数类型,不应该发生同样的事情float(这也会导致性能提高)?
相关问题:在32位系统和64位系统上声明一个类型my_float(请原谅名称!)是不是一个坏主意?floatdouble
Dav*_*rtz 21
您的问题基于错误的前提.在大多数现代64位系统上,int仍然是4个字节.当如此大的整数很少需要时,为什么要消耗两倍的内存和两倍的内存带宽?在典型的现代64位系统中,64位整数的数学运算并不比32位整数的数学运算快,因此没有任何好处.