Click here to Skip to main content
15,887,350 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionType Promotion in C Pin
__yash__21-Oct-09 20:36
professional__yash__21-Oct-09 20:36 
AnswerRe: Type Promotion in C Pin
«_Superman_»21-Oct-09 21:28
professional«_Superman_»21-Oct-09 21:28 
GeneralRe: Type Promotion in C Pin
__yash__21-Oct-09 21:36
professional__yash__21-Oct-09 21:36 
QuestionRe: Type Promotion in C Pin
CPallini21-Oct-09 21:39
mveCPallini21-Oct-09 21:39 
AnswerRe: Type Promotion in C Pin
__yash__21-Oct-09 21:50
professional__yash__21-Oct-09 21:50 
AnswerRe: Type Promotion in C Pin
__yash__21-Oct-09 21:59
professional__yash__21-Oct-09 21:59 
GeneralRe: Type Promotion in C [modified] Pin
CPallini21-Oct-09 22:01
mveCPallini21-Oct-09 22:01 
GeneralRe: Type Promotion in C [modified] Pin
__yash__21-Oct-09 22:25
professional__yash__21-Oct-09 22:25 
In the book C-The Complete Reference by Herbert Schildt theree is an example
char ch;
int i;
float f
double d;
result=(ch/i)+(f*d)-(f+i)


Here it does not talk about the data type of the variable "result". In any case, the conversion here is as follows: First ch is converted to int since i is int, then ch/i is performed. The result of ch/i is then converted to double as f*d is double. The final value is a double.

Now if "result" is type float then the final value will be truncated to float and stored in "result", isnt it?
CPallini wrote:
types promotion occurs because of (in the original expressio) the assignment was done to an integer.


As we see in the above example the variable to which the final value is assigned, its type matters only when we have solved the expression on the right side.

Please correct me if wrong anywhere.


The mentioned book also says:
"First, all char and short int values are automatically elevated to int"
This seems to be the reason why I don't lose the shifted out bits and also because I store the value back in an unsigned long Smile | :)

modified on Thursday, October 22, 2009 4:51 AM

GeneralRe: Type Promotion in C Pin
CPallini21-Oct-09 22:52
mveCPallini21-Oct-09 22:52 
GeneralRe: Type Promotion in C Pin
CPallini21-Oct-09 22:59
mveCPallini21-Oct-09 22:59 
GeneralRe: Type Promotion in C Pin
__yash__21-Oct-09 23:12
professional__yash__21-Oct-09 23:12 
GeneralRe: Type Promotion in C Pin
«_Superman_»22-Oct-09 9:31
professional«_Superman_»22-Oct-09 9:31 
AnswerRe: Type Promotion in C Pin
Adam Roderick J21-Oct-09 21:57
Adam Roderick J21-Oct-09 21:57 
QuestionHttp Response Code is -1 ? Pin
VishalIndia21-Oct-09 20:29
VishalIndia21-Oct-09 20:29 
AnswerRe: Http Response Code is -1 ? Pin
Randor 21-Oct-09 21:22
professional Randor 21-Oct-09 21:22 
GeneralRe: Http Response Code is -1 ? Pin
VishalIndia21-Oct-09 22:05
VishalIndia21-Oct-09 22:05 
GeneralRe: Http Response Code is -1 ? Pin
Randor 22-Oct-09 16:40
professional Randor 22-Oct-09 16:40 
GeneralRe: Http Response Code is -1 ? Pin
VishalIndia24-Oct-09 7:01
VishalIndia24-Oct-09 7:01 
GeneralRe: Http Response Code is -1 ? Pin
Randor 24-Oct-09 16:55
professional Randor 24-Oct-09 16:55 
GeneralRe: Http Response Code is -1 ? Pin
rahul.kulshreshtha29-Oct-09 0:12
rahul.kulshreshtha29-Oct-09 0:12 
QuestionHow to catch exception before a crash happens? Pin
jtasph21-Oct-09 20:20
jtasph21-Oct-09 20:20 
AnswerRe: How to catch exception before a crash happens? Pin
Randor 21-Oct-09 20:29
professional Randor 21-Oct-09 20:29 
QuestionRe: How to catch exception before a crash happens? Pin
jtasph21-Oct-09 20:39
jtasph21-Oct-09 20:39 
AnswerRe: How to catch exception before a crash happens? Pin
Randor 21-Oct-09 20:57
professional Randor 21-Oct-09 20:57 
GeneralOT Pin
Rajesh R Subramanian21-Oct-09 20:59
professionalRajesh R Subramanian21-Oct-09 20:59 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.