Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1/1

Zdrojové soubory z výuky

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á".

20110128-Fri-hexa.c
   1 /*
   2  * Soubor:  20110128-Fri-hexa.c
   3  * Datum:   28.01.2011 11:00
   4  * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   5  * Licence: GNU/GPL 
   6  * Úloha: 
   7  * Popis:   
   8  ****************************************************/
   9 #define _ISOC99_SOURCE
  10 #define _GNU_SOURCE
  11 #include <stdio.h>
  12 #include <stdbool.h>
  13 
  14 /* ***************    Makra    ******************** */
  15 #define ARREYC 1024
  16 
  17 /* ***************   Funkce    ******************** */
  18 
  19 
  20 /****************************************************
  21  *               Hlavní program.
  22  ****************************************************/
  23 int main(void) {
  24     int i=0xff;
  25 
  26     printf("%d\n",i);
  27     printf("%x\n",i);
  28     printf("%X\n",i);
  29 
  30     int x=261;
  31     /* bitový and a or */
  32     printf("28 & 0F: %d\n", 28 & 0x0F);
  33     printf("28 | 0xB6: %X\n", 28 | 0xB6);
  34     printf("rotace %d\n", 1 << 3);
  35     printf("2. byte čísla %d: %x\n",x, (x & 0xff00) >> 8  );
  36     printf("1. byte čísla %d: %x\n",x,  x & 0x00ff );
  37 
  38     int maska=0x1 << 15;
  39     printf("binární zápis čísla %d je ",x);
  40     for (int i=15; i>=0; i--) {
  41         printf("%1x", (x & maska) >> i ); 
  42         maska >>= 1;  // maska = maska >> 1;
  43         if (i==8) {
  44             putchar(' ');
  45         }
  46     }
  47     putchar('\n');
  48 
  49     return 0;
  50 }
`--> stáhnout

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net