相关疑难解决方法(0)

int的大小是否取决于编译器和/或处理器?

整数的大小是否取决于编译器,操作系统和处理器?

c c++ types

69
推荐指数
4
解决办法
4万
查看次数

在C中,sizeof运算符在传递2.5m时返回8个字节,在传递1.25m*2时返回4个字节

我不明白为什么sizeof运营商产生以下结果:

sizeof( 2500000000 ) // => 8 (8 bytes).
Run Code Online (Sandbox Code Playgroud)

...它返回8,当我执行以下操作时:

sizeof( 1250000000 * 2 ) // => 4 (4 bytes).
Run Code Online (Sandbox Code Playgroud)

...它返回4而不是8(这是我的预期).有人可以澄清如何sizeof确定表达式(或数据类型)的大小以及为什么在我的特定情况下会发生这种情况?

我最好的猜测是sizeof运算符是编译时运算符.

赏金问题:是否有运行时运算符可以评估这些表达式并产生我的预期输出(没有强制转换)?

c sizeof

65
推荐指数
3
解决办法
3597
查看次数

为什么自动推断此变量为double而不是float?

在下面的代码片段中,auto将变量推导出为double,但是我想要float。

auto one = 3.5;
Run Code Online (Sandbox Code Playgroud)

它是否始终double用于带小数点的文字?如何确定浮点数和两倍数?

c++ floating-point literals auto type-deduction

14
推荐指数
3
解决办法
872
查看次数

为什么在MSVC中默认将浮点值(如3.14)视为双精度?

为什么我需要输入3.14f而不是3.14才能禁用所有这些警告?这有一个连贯的原因吗?

c++ floating-point double visual-c++

10
推荐指数
2
解决办法
5582
查看次数

浮点数据类型(5.0)被分配8个字节而不是4个使用C中的sizeof运算符

为什么sizeof(5.0)我的机器为float数据类型分配了4个字节,因此返回8作为输出而不是4 ?默认情况下,是否考虑5.0为double(内存分配= 8个字节),如果是的话,为什么会这样呢?

c sizeof

0
推荐指数
1
解决办法
65
查看次数

标签 统计

c ×3

c++ ×3

floating-point ×2

sizeof ×2

auto ×1

double ×1

literals ×1

type-deduction ×1

types ×1

visual-c++ ×1