Reprezentacja liczby ujemnej i dodatniej w systemie binarnym - uzupełnienia znaków ZM, U1, U2
Ostatnio zmodyfikowano 2013-11-26 17:04
capajera18 Temat założony przez niniejszego użytkownika |
Reprezentacja liczby ujemnej i dodatniej w systemie binarnym - uzupełnienia znaków ZM, U1, U2 » 2013-11-25 11:54:07 Ok mamy coś takiego w informatyce jak znaki uzupełnień czyli chodzi o to by lliczba binarna reprezentowała czy liczba jest ujemna czy dodatnia. przykladowo: U1 - Metoda uzupełnień znaku do 1: --------------- "Występuje bit1 znaku. Moduł, gdy liczba jest ujemna, zostaje uzupelniona o 1 i nastepuje odwrócenie wszystkich bitów liczby (zmiana zer na jedynki a jedynki na zera)" --------------- No właśnie czyli przykadowo 12(dziesietnie) = 1100 (binarnie)
U1 - liczba wyrazona +(plusem) = 01100 <- ZERO z lewej strony oznacza ze 1100 jest dodatnia liczba
U1 - liczba wyrazona - (minusem) = 10011 <- 1 oznacza ze liczba jest ujemna a dalej nastąpiła zasada odwrócenia bitów na przeciwne
(CHWILA :: ale po przeliczeniu z systemu binarnego na dziesiętny 10011 NIE OZNACZA -12 tylko zupełnie inną liczbę mianowicie 19, WIĘC moje pytanie jest takie skąd komputer dokładnie wie że 10011 jest rzeczywiście liczbą ujemną czyli -12, jak komputer sobie z tym radzi ? Przecież metoda U1 jest dla nas wiadoma z tego względu że nam opisano algorytm jak to się dzieje, że 10011 jest to -12, ale skąd komputer ma "świadomość" tego ze jest to -12, Co za to odpowiada ?) |
|
pekfos |
» 2013-11-25 14:36:55 WIĘC moje pytanie jest takie skąd komputer dokładnie wie że 10011 jest rzeczywiście liczbą ujemną czyli -12, jak komputer sobie z tym radzi ? |
Nie widzę możliwości, żeby komputer widział w tym -12. |
|
DejaVu |
» 2013-11-25 18:13:04 Komputer nie pracuje na 5-bitach. Poza tym tę samą liczbę można interpretować na wartość ze znakiem oraz bez znaku, czyli można otrzymać dwie różne wartości. |
|
kubawal |
» 2013-11-26 16:08:07 Jeśli ją interpretujemy jako liczbę ze znakiem, to najbardziej znaczący bit oznacza znak - lub + |
|
Witness |
» 2013-11-26 16:25:06 Komputer wie jak interpretowac dane bity. Tzn. komputer wie, ze pierwszy (most significant bit) Bit jest znakim "+" albo "-", ktory symbolizuje czy liczba jest dodatnia czy ujemna. |
|
DejaVu |
» 2013-11-26 17:04:26 Komputer nie wie jak interpretować dane bity. Komputer ma po prostu zdefiniowane określone zachowanie dla określonych instrukcji. Są instrukcje do wykonywania operacji na liczbach ze znakiem i na liczbach bez znaku. Programując w C++ się tego nie widzi, ale jak się zejdzie chociażby do poziomu asemblera to widać, że instrukcje dla tych samych operacji matematycznych są różne. |
|
« 1 » |