如果我这样做:
int i=3, j=10;
float f;
f=(i+j)/2;
so f won t get value 6.5 but 6.
但是
f=(i+(float)j)/10;//edited
would be f=6.5
.
What is the place where this temporary values are stored and why do we need to type-cast?
如果我这样做:
int i=3, j=10;
float f;
f=(i+j)/2;
so f won t get value 6.5 but 6.
但是
f=(i+(float)j)/10;//edited
would be f=6.5
.
What is the place where this temporary values are stored and why do we need to type-cast?
f=(i+j(float))/10;
不正确;强制转换中的类型位于其操作数之前:
f=(i+(float)j)/10;
无论如何计算算术运算符时,如果一个操作数为浮点类型,另一个为整数类型,则整数操作数将转换为浮点类型并执行浮点运算。
这是所谓的常用算术转换的一部分(您可以通过搜索谷歌找到更多关于这些转换的信息,不过MSDN对它们有一个简单的解释)。
临时值的存储位置取决于编译器和计算机。它很可能存储在寄存器中,因为您将立即使用它,但它可能存储在堆栈或其他地方。
C定义了“积分提升”规则,这些规则决定了将使用哪种类型来执行整数计算。整数表达式将被提升为一个足够大的类型,以容纳表达式中所有类型的值,如果可能,则带符号,否则不带符号。通过将其中一个值强制转换为浮点,可以强制编译器执行浮点提升,从而将所有整数提升为合适的浮点类型。您还可以编写0.1*(i+j)
,在这种情况下,i+j
将被计算为整数,然后被提升为浮点类型以与0.1相乘。
f=(i+j)/2 will give integer value because in RHS i,j,2 they all are integer thus result will be stored in the form of integer. for example
int a;
float b;
b=a;
即使a的计算值是浮点值,b也只存储a的整数值。这里的a可以与您的表达式(i+j)/2相同。
For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...
最好、最小、最快、开放的来源、C/C++ 3d 提供方(在3ds max模型的支持下),而不是通用公平市价,
Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...
I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...
I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...
I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...
Is there anything other than DDD that will draw diagrams of my data structures like DDD does that runs on Linux? ddd is okay and runs, just kind of has an old klunky feeling to it, just wanted to ...
Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...