Lista 3 -- Wstęp do informatyki, W. Hebisch
#include <stdio.h>
int main(void)
{
char tabela_cyfr[]={'0','1'};
char cyfry_wynikowe[32];
unsigned int n = 1000000222;
int i;
for(i=0; i < 32; i = i + 1) {
int cyfra = n % 2;
n = n / 2;
cyfry_wynikowe[i] = tabela_cyfr[cyfra];
}
for(i=31; i >= 0; i = i - 1) {
putchar(cyfry_wynikowe[i]);
}
putchar('\n');
return 0;
}
Przerobić program tak by wypisał reprezentację dziesiętną liczby.
Następnie zająć się reprezentacją szesnastkową.
Wypróbować poniższy program:
#include <stdio.h>
int main(void)
{
signed char i;
/* Kiedy pętla zakończy działanie ? */
for(i = 0; i > -100; i = i + 50) {
printf("i = %d\n", i);
}
return 0;
}
Wyjaśnić teoretycznie działanie programu. Sprawdzić co się stanie
gdy 'signed char' zastąpi się przez 'unsigned char'. Znaleźć podobne
przypadki dla liczb 'short int'
Dla 16-bitowych ('short') argumentów i wyniku znaleźć najmniejszą liczbę dodatnią n taką żę n*n<0 (napisać odpowiedni program). To samo przy 32-bitowej dokładności ('int').