(双)C ++的功能是什么?

时间:2015-04-23 19:49:02

标签: c++ double

我对编码很新,所以我的问题可能看起来很乏味。我正在解决一个问题,在建议的解决方案中有一条线:

return 4 * (double)nrC / n;

其中" nrC"和" n"是整数。

这里(双)的功能是什么?它转向" nrC"和" n"变成双重?

2 个答案:

答案 0 :(得分:2)

它将nrC的值(名称)转换为double值。变量本身没有变化。

答案 1 :(得分:1)

正如其他人所说,这是 cast ,即转换值的类型。

这里使用它的原因是,当只用整数(例如4/3)进行除法时,你会得到整数算术:你松掉了余数(即4/3 = 1(遗嘱1遗失))。

这有时是不受欢迎的。因为结果可能会有很大差异,具体取决于您是使用整数除法还是小数除法:

 int nrC = 3;
 int n = 2;
 int result_i = 4 * (nrC / n); /* 4*(3/2) = 4*1 = 4 !!! */
 int result_d = 4 * ((double)nrC/n); /* 4*(3.0/2) = 4*1.5 = 6 !!! */