Systemnahe Programmierung in Chome Systemnahe Programmierung in C: Wertebereiche Prof. Dr. Uwe Schmidt FH Wedel

Wertebereiche

weiter

weiter

Ganzzahlige Wertbeereiche und Fließkomma-Zahlen

Syntax
Grammatik-Regeln
typische Implementierungen
für ANSI-C
 
int 2, 4 oder 8 byte
 
int entspricht entweder short int oder long int oder etwas dazwischen
 
char entspricht entweder unsigned char oder signed char
 
Typminmax
int -231231-1
oder -215215-1
oder -263263-1
short int-215215-1
long int-231231-1
oder -263263-1
unsigned short int 0216-1
unsigned long int 0232-1
oder 0264-1
signed char -128127
unsigned char 0255
weiter
merke
Bereiche implementierungsabhängig
weiter
merke
Portabilität?
weiter
limits.h
die header-Datei für die Grenzen
weiter
Konstanten
dezimaloktalhexadezimal
3030x3
80100x8
150170xF
160200x10
210250x15
-87-0127-0x57
18702730xbb
25503770xFF
weiter
merke
Typen der Konstanten nicht präzise bestimmt: int, long int, unsigned int, unsigned long int
weiter
Suffixe
u, U, l, L zur genauen Typfestlegung
weiter
merke
kein Datentyp boolean
weiter
merke
false entspricht 0
true entspricht 1
weiter
Fließkomma-Zahlen
Grammatik-Regeln
weiter
float.h
die header-Datei für die Grenzen für Fließkomma-Zahlen
weiter

weiter

Rechnen mit double
double.c

   1/* Konversion eines double Wertes
   2   von Fahrenheit nach Celsius  
   3*/
   4
   5double
   6fahrenheitNachCelsius (double fahrenheit)
   7{
   8  return (fahrenheit - 32.0) * 100.0 / (212.0 - 32.0);
   9}
weiter

weiter

Rechnen mit float
(nur in ANSI-C)
float.c

   1/* Finde fuer gegebenen Radius die Flaeche eines Kreises */
   2
   3#define PI 3.14159
   4
   5float
   6flaecheEinesKreises (float radius)
   7{
   8  float flaeche;
   9
  10  return PI * radius * radius;
  11}
weiter

weiter

Fließkomma-Zahlen und Assoziativität: Beispiel assoc-double.c

   1#include <stdio.h>
   2
   3double x =  10e30;
   4double y = -10e30;
   5double z =    1.0;
   6
   7int main(void) {
   8  printf("x + (y + z) = %f\n"x + (y + z));
   9  printf("(x + y) + z = %f\n"(x + y) + z);
  10  return 0;
  11}
weiter

weiter

Übersetzen

cc -o assoc-double assoc-double.c

weiter

weiter

Testen

./assoc-double

weiter

Letzte Änderung: 26.09.2014
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel