Język C
Dzisiaj zajmujemy się zdaniami które są tutaj:
lab 2
Uwagi ogólne
- Każdy znak z klawiatury ma swój kod (liczbę od 0 do 255) zwany
kodem ASCII. Oto tabela
Kodów ASCII
wraz z zapisem binarnym kodu.
- Kod znaku enter to 10. Jeśli nie chcesz aby się wyświetlał,
wpisz w programie getchar(); tuż po użyciu znak =getchar();
- Aby uzyskać znak EOF z klawiatury pod Linuxem wciśnij Ctrl-D
Uwagi do zad1:
Proszę wykorzystać fakt, że przesuwając bity w prawo o k, możemy za pomocą
operacji reszty z dzielenia przez 2 sprawdzić wartość k-tego bitu
Tak uzyskane bity możemy umieścić w tablicy aby odwrócić ich kolejność
Uwagi do zad2:
(szyfrowanie)
W pętli while wpisujemy znaki do 4-elementowej tablicy tab[4].
Kiedy są wczytane 4 znaki co sprawdzamy biorąc resztę z dzielenia licznika
pętli, przystępujemy do zamiany tej grupy na jedną liczbę o nazwie liczba.
Dokonujemy tego tak: zwiększamy wartość zmiennej liczba najpierw o
wielkość (po zrzutowaniu na int) pierwszego znaku, potem o wartość drugiego
przesuniętego lewo << o 8 potem zwiąkszamy o wartość trzeciego przesuniętego o 16
i wartość czwartego przesuniętego o 24 bity.
Zadanie dodatkowe:
Jeżeli skończyłeś zad2, napisz funkcję szyfrującą która wykonuje
xor (bitową różnicę symetryczną) z wartością która jest losowa, ustalona
na początku programu. W tym celu wykorzystaj funkcję
rand() oraz srand.
Jedno z rozwiązań
szyfrowanie i deszyfrowanie