I have a question about Floating point numbers and mathematical operators
#include <iostream>;
int main() {
double x = 10;
double y = 5;
double z;
z = (x + 10) / (3 * y) ; //Why can't the type of x/y/z be int?
std::cout << z;
return 0;
}
I have a question about Floating point numbers and mathematical operators
#include <iostream>;
int main() {
double x = 10;
double y = 5;
double z;
z = (x + 10) / (3 * y) ; //Why can't the type of x/y/z be int?
std::cout << z;
return 0;
}
x and y can be int
but the z = 3.333
so z should always be double
Well double
is for declaring numbers with decimal points or predicting they might have a decimal point and in this exercise Mosh tells us that the value of z is 1.333, so we need to declare all their types to double, well if you don’t like it then you can set y to integer and it won’t make a difference.
A tip for you after seeing your code:
It is better as a programmer to simplify and try to make your code as short and simple as possible so in this case you can put the equation of z directly where you declared the z double, so you can basically do this:
#include <iostream>
int main() {
double x = 10;
double y = 5;
double z = (x + 10) / (3 * y);
std::cout << z;
return 0;
}
I am afraid that is wrong information, if you are calculating between 2 variables that are set to an integer value the answer cannot be output as a double or float, so you need to keep in mind that at least two of the values’ meaning x and z or y and z (that is personal preference) should be set to float or double types.
Well done! Thank you so much!
You’re Welcome Brother :)