home *** CD-ROM | disk | FTP | other *** search
/ ftp.disi.unige.it / 2015-02-11.ftp.disi.unige.it.tar / ftp.disi.unige.it / pub / .person / CataniaB / teach-act / esempi / Tipi_ed_operatori / tipi.c < prev   
C/C++ Source or Header  |  1997-04-21  |  841b  |  51 lines

  1. #include <values.h>  /* su Linux */
  2.  
  3. main()
  4. {
  5.  
  6.  unsigned char x;
  7.  char z;
  8.  float f;
  9.  float g;
  10.  int r;
  11.  
  12.  printf("%d %d %d %ld %f %e\n",MAXSHORT,MAXINT,MAXLONG,MAXFLOAT,MAXDOUBLE); 
  13.  
  14.  x=-1;    /* rappresentazione in compl. a 2:  11111111 cioe' 255 */
  15.  
  16.  printf("%u %d ",x,x==255); /* stampa 1! */
  17.  
  18.  z=x+1;  /* conversione in intero */
  19.  
  20.  printf("%d ",z);  /* stampa 0 */              
  21.  
  22.  f=1.6;
  23.  
  24.  g=6.7;
  25.  
  26.  r=f+g;  /* troncamento dei decimali */
  27.  
  28.  printf("%d ",r); /* stampa 8 */
  29.  
  30. {
  31.   int a,b;
  32.   float c;
  33.  
  34.   a=1;
  35.   b=2;
  36.  
  37.   c=a/b;   /* conversione dopo operazione tra interi  c==0 */
  38.  
  39.   printf(" %f ",c);  /* stampa 0.000000 */
  40.   
  41.   c=((float)a)/b;  /* CASTING: converto esplicitamente il VALORE di "a" 
  42.                     * da int a float
  43.                     * NON cambia il tipo di a!!! */
  44.  
  45.   printf(" %f ",c); /* stampa 0.500000   */
  46.  
  47.  
  48. }
  49.  
  50.