Kod - Politechnika Krakowska
Transkrypt
Kod - Politechnika Krakowska
POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/TI_HP.html Wykładowca: dr inż. Zbigniew Kokosiński [email protected] Wykład: Kody liczbowe. Arytmetyka binarna Co to jest kod? • Przykłady zastosowań kodów • Kod ASCII • Kod Hamminga • Kod Huffmana • Kod Gray'a • Kod binarny, oktalny, heksadecymalny • Arytmetyka binarna • Kod uzupełnieniowy do 1 i 2 • Półsumator, sumator, arytmometr (ALU) Co to jest kod ? Kod (łac.) - jest to ciąg składników sygnału (kombinacji sygnałów elementarnych, np. kropek i kresek, impulsów prądu, symboli itp.) oraz reguła ich przyporządkowania składnikom wiadomości (np. znakom pisma). Historyczne zastosowania kodów: Szyfr Cezara: n-ta litera alfabetu jest zastępowana (n+k)-tą Kod Morse'a: telegrafia, znaki alfabetu łac. Zastąpiono sekwencjami impulsów elektrycznych Kod Baudot: tzw. kod ITA1, pierwowzór kodów stosowanych w dalekopisach, urządzeniach telekomunikacyjnych dla głuchoniemych, krótkofalarstwie itp. Współczesne zastosowania kodów Telekomunikacja Kryptografia Technika cyfrowa Informatyka systemy kodowania znaków (kod ASCII) systemy wykrywające błędy i korekcyjne (kod Hamminga) systemy szyfrowania informacji ( system RSA z kluczem publ.) systemy kompresji informacji (kod Huffmana) systemy techniki cyfrowej (kod Gray'a) systemy liczbowe (kod binarny, oktalny, heksadecymalny) Kod ASCII Kod ASCII Kod Hamminga Odległość Hamminga Kod Huffmana Algorytm Huffmana Porównanie kodowania o stałej długości z kodowaniem Huffmana Przy założeniu, że kod ma 6 znaków o podanych częstotliwościach kodowanie Huffmana pozwala zmniejszyć rozmiar pliku wynikowego o ok. 25 %. Kod Gray'a Kod Gray'a Kody pozycyjne - binarny Kody pozycyjne - oktalny Kody pozycyjne - heksadecymalny Kody pozycyjne - tabela Zapisy liczb w systemach niedziesiętnych Arytmetyka binarna – reguły działań Arytmetyka binarna – proste dodawanie i odejmowanie Arytmetyka binarna – proste mnożenie Arytmetyka binarna – reprezentacja znak-moduł Wada reprezentacji znak-moduł System uzupełnieniowy do 1 Wady systemu uzupełnieniowego do 1 Wady systemu uzupełnieniowego do 1 System uzupełnieniowy do 2 System uzupełnieniowy do 2 System uzupełnieniowy do 2 System uzupełnieniowy do 2 System uzupełnieniowy do 2 - odejmowanie Uwagi: B-1 oznacza kod uzupełnieniowy do 1. B oznacza kod uzupełnieniowy do 2. Odejmowanie jest wykonywane poprawnie jako dodawanie. Logika binarna Logika binarna Półsumator jednobitowy S=A XOR B, C=A AND B Sumator jednobitowy S=(A XOR B) XOR Cin Cout=((A XOR B) AND Cin) OR (A AND B) Uwagi: Sumator uwzględnia przeniesienie z poprzedniej pozycji Sumator szeregowy n-bitowy Symbol sumatora 1-bitowego Schemat sumatora szeregowego 4-bitowego Prosty arytmometr – dwie operacje 4-bitowe Uwaga: D=0 dodawanie D=1 odejmowanie Jednostka arytmetyczno-logiczna (ALU)