Write a program to illustrate the results of type conversion from char to int data type.

C Programming Language Data Types in C Language (Article) Data Types in C Language (Program)

1815

Program:

<span class="com">/*
 Program:  Write a program to illustrate the results of type conversion
  between signed and unsigned long and short integer data types. 
  
 Author: www.atnyla.com  
 
*/</span><span class="pln"> 

</span><span class="com">#include</span><span class="pln"> </span><span class="str">"stdio.h"</span><span class="pln">  
</span><span class="kwd">int</span><span class="pln"> main</span><span class="pun">()</span><span class="pln">
</span><span class="pun">{</span><span class="pln">

</span><span class="kwd">int</span><span class="pln"> si</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">unsigned</span><span class="pln"> </span><span class="kwd">int</span><span class="pln"> usi</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">char</span><span class="pln"> ch </span><span class="pun">=</span><span class="pln"> </span><span class="str">'a'</span><span class="pun">;</span><span class="pln">         </span><span class="com">/* Most significant bit will be zero*/</span><span class="pln">
si </span><span class="pun">=</span><span class="pln"> ch</span><span class="pun">;</span><span class="pln">               </span><span class="com">/* will give small +ve integer*/</span><span class="pln">
usi </span><span class="pun">=</span><span class="pln"> ch</span><span class="pun">;</span><span class="pln">

printf</span><span class="pun">(</span><span class="str">"c = %c\n si = %d\n usi = %u\n"</span><span class="pun">,</span><span class="pln"> ch</span><span class="pun">,</span><span class="pln"> si</span><span class="pun">,</span><span class="pln"> usi</span><span class="pun">);</span><span class="pln">

ch </span><span class="pun">=</span><span class="pln"> </span><span class="str">'\377'</span><span class="pun">;</span><span class="pln">           </span><span class="com">/* set all bits to 1 */</span><span class="pln">
si </span><span class="pun">=</span><span class="pln"> ch</span><span class="pun">;</span><span class="pln">               </span><span class="com">/* sign extension makes negative */</span><span class="pln">
usi </span><span class="pun">=</span><span class="pln"> ch</span><span class="pun">;</span><span class="pln">

printf</span><span class="pun">(</span><span class="str">"si = %d\n usi = %u\n"</span><span class="pun">,</span><span class="pln">si</span><span class="pun">,</span><span class="pln">usi</span><span class="pun">);</span><span class="pln">

</span><span class="kwd">return</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">

</span><span class="pun">}</span><span class="pln"> </span>

Output:

c = a
 si = 97
 usi = 97
si = -1
 usi = 4294967295
Press any key to continue . . .

Explanation:

None

This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.