I want to make sure that my understanding of the return type of C++ division,
int / int => return is int?
float / float => return is which type? float?
d
operator/
for basic data types (just like most, if not all, operators for basic types) returns the strongest type of its two operands.
The answer to all of your questions is thus yes.
In general, floating point types are stronger than integer ones and unsigned are stronger than signed...
Defining > as "stronger than", we can say that:
long double > double > float > unsigned long > long > unsigned int > int > unsigned short > short > unsigned char > char