Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C-Kurs/ieee754/Musterlösung

< C-Kurs‎ | ieee754
Version vom 14. September 2012, 16:54 Uhr von Nighoo (Diskussion | Beiträge) (pdf -> wiki)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
/*
** Copyright (C) Sebastian Pipping <sebastian@pipping.org> and Katrin Lang <mail@katrinlang.de>
** Licensed under GPL v3 or later
**
** 2011-08-13 20:06 UTC+2
*/

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

static void dump_header() {
  printf("Index  31     24      16      8       0\n");
  printf("       |");
  signed int bit_index = sizeof(int) * 8 - 2;
  for (; bit_index >= 0; bit_index--) {
    putchar(bit_index % 8 ? '.' : '|');
  }
  putchar('\n');
}

int main(int argc, char ** argv) {
        assert(sizeof(unsigned int) == sizeof(float));

        dump_header();
	for (int i= 1; i<argc; i++){
	  argv++;
	  dump_bits(strtof(*argv, 0));
	}
        dump_header();

        return 0;
}