Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".
1 /*
2 * Soubor: 20110207-Mon-dec2x.c
3 * Datum: 07.02.2011 10:23
4 * Autor: Marek Nožka, nozka <@t> spseol <d.t> cz
5 * Licence: GNU/GPL
6 * Úloha: program převede číslo z dekadické soustavy do osmičkové (oktalové),
7 * šestnáctkové(hexadecimální) a dvojkové (binární)
8 ****************************************************/
9 #define _ISOC99_SOURCE
10 #define _GNU_SOURCE
11 #include <stdio.h>
12
13 /* *************** Makra ******************** */
14
15 /* *************** Funkce ******************** */
16
17 /****************************************************
18 * Hlavní program.
19 ****************************************************/
20 int main(void)
21 {
22 int cislo;
23
24 scanf("%d", &cislo);
25 printf("16: %X\n", cislo);
26 printf("10: %d\n", cislo);
27 printf(" 8: %o\n", cislo);
28 printf(" 2: ");
29
30 /* tisk posledních dvou byte-u */
31 //int maska = 0x80;
32 //int maska = 32768;
33 int maska = 1 << 15;
34 /* výpis hodnoty jednoho bitu, který je určen maskou */
35 for (int i = 1; i <= 16; i++) {
36 /*if ((cislo & maska) > 0) {
37 putchar('1');
38 } else {
39 putchar('0');
40 } */
41 printf("%d", (cislo & maska) > 0 ? 1 : 0);
42 if (i % 4 == 0) {
43 if (i % 8 == 0) {
44 putchar('.');
45 } else {
46 putchar(' ');
47 }
48 }
49 //maska = maska >> 1;
50 maska >>= 1;
51 }
52 putchar('\n');
53
54 return 0;
55 }