Architektura Komputerów/Wykład 2: Dane: Różnice pomiędzy wersjami
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 78: | Linia 78: | ||
|valign="top" width="500px"|[[Grafika:ASK_M2_S12.png]] | |valign="top" width="500px"|[[Grafika:ASK_M2_S12.png]] | ||
|valign="top"| | |valign="top"| | ||
... | Najprostszy typ danych stanowią dane logiczne. Mogą one przyjmować dwie wartości. Bajtowe adresowanie danych używane w komputerach oraz fakt, że wiele komputerów traktuje jako podstawowy format danych słowo 32-bitowe powodują, że dane logiczne są zwykle zapisywane w postaci bajtów lub słów, pomimo, że do ich zapisu wystarczyłby pojedynczy bit. | ||
Należy zwrócić uwagę na reprezentację wartości PRAWDA w różnych językach programowania. Różne wzorce bitowe używane w różnych językach oraz korzystanie z operatorów (np. negacji) bitowych zamiast logicznych mogą być przyczyną błędów w programach, w których poszczególne moduły są pisane w różnych językach. | |||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 84: | Linia 86: | ||
|valign="top" width="500px"|[[Grafika:ASK_M2_S13.png]] | |valign="top" width="500px"|[[Grafika:ASK_M2_S13.png]] | ||
|valign="top"| | |valign="top"| | ||
... | W dalszej części do opisu różnych reprezentacji danych liczbowych będziemy posługiwali się założeniem, że dane reprezentowane są przez słowo komputera, w którym poszczególne bity zostały ponumerowane od prawej do lewej strony. | ||
W naturalnym kodzie binarnym numer bitu jest równy wykładnikowi jego wagi binarnej. | |||
Zapis BCD polega na oddzielnym zakodowaniu w postaci binarnej (w kodzie NKB) każdej cyfry zapisu dziesiętnego, w postaci czterech bitów (tetrady). Zapis ten był dawniej używany do reprezentacji danych w języku COBOL. Obecnie jest on bardzo rzadko stosowany, głównie w mikrokontrolerach. | |||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> | ||
Linia 90: | Linia 96: | ||
|valign="top" width="500px"|[[Grafika:ASK_M2_S14.png]] | |valign="top" width="500px"|[[Grafika:ASK_M2_S14.png]] | ||
|valign="top"| | |valign="top"| | ||
... | Ekran przedstawia kilka najważniejszych zapisów liczb ze znakiem. | ||
Zapis U2 jest najczęściej stosowanym zapisem liczb całkowitych. Jest on podobny do NKB, z tą różnicą, że najbardziej znaczący bit ma wagę ujemną. Typ int jest we współczesnych komputerach implementowany jako zapis U2. | |||
Zapis U1 był popularny kilkadziesiąt lat temu. Zapis ten jest podobny do U2, ale wartość bezwzględna najbardziej znaczącego bitu jes tu o jeden mniejsza. Obecnie wyszedł on z użycia. | |||
Zapis znak-moduł wydaje się być najbardziej intuicyjnym – jeden bit jest interpretowany jako znak liczby, pozostałe bity – jako wartość bezwzględna w kodzie NKB. Jest on jednak niewygodny dla jednostek arytmetycznych i współczesne komputery nie obsługują danych całkowitoliczbowych w tym zapisie. | |||
Zapis spolaryzowany umożliwia reprezentację licz ze znakiem jako licz bez znaku, z odpowiednim przesunięciem wartości 0. Liczby ujemne zapisywane są jako bliskie zeru,a zero – jako wartość w połowie zakresu reprezentacji NKB. Zapis powstaje przez dodanie do zapisywanej wartości stałej – podkładu, a następnie zapisanie tak uzyskanej liczby w kodzie NKB. Jako wartość podkładu przyjmuje się zwykle wartość leżącą tuż poniżej połowy zakresu w NKB. | |||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> |
Wersja z 10:43, 5 paź 2006
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |
![]() |
... |