Szukałam sposobu na przeliczanie na system binarny liczb ujemnych, ale ciągle nie jestem pewna na 100%
Bo na przykład jeden z artykułów mówi o standardowym zapisie - tylko z bitem znaku. I na przykład jeżeli takie 2 w systemie binarnym to 10 - to z bitem znaku będzie 110, czy może 10010 (to drugie trochę bez sensu jest, no ale...)?
Dla odmiany drugi sposób, jaki wygrzebałam to reprezentacja uzupełnieniowa...
Który sposób jest bardziej popularny, albo bardziej poprawny? Jeżeli w ogóle można tak o którymś powiedzieć...
liczny ujemne w systemie binarnym
-
- Użytkownik
- Posty: 6
- Rejestracja: 22 maja 2009, o 23:41
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Pomógł: 4 razy
liczny ujemne w systemie binarnym
Wydaje mi się, że reprezentacja uzupełnieniowa byłaby odpowiedniejsza bo z tego co kojarzę to głównie tak są zapisywane w komputerze liczby całkowite
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
liczny ujemne w systemie binarnym
Znam 3 sposoby zapisu liczb ujemnych binarnie. Jednym z nich jest właśnie ZM (znak moduł), czyli pierwszy bit liczby wyznacza czy jest ona dodatnia czy ujemna. Co do samego sposobu zapisu liczby np. 2, to wszystko zależy od przyjętych założeń. W komputerach z procesorem np. 32 bitowych jedna liczba zajmuje właśnie 32 bity, czyli 4 bajty. Dlatego w takim formacie liczba 2 będzie wyglądała tak (konwencja zapisu big-endian):
\(\displaystyle{ \underbrace{0}_{0-dodatnia}\underbrace{00\ldots0}_{29 zer}\underbrace{10}_{2_{(10)}}}\)
Dwa pozostałe sposoby, to właśnie kody uzupełnień. Jest kod U1 (kod uzupełnień do jedności) oraz U2(kod uzupełnień do dwóch). Nie będę się na ich temat rozpisywał, gdyż na necie jest sporo materiałów. Mogę tylko powiedzieć, że U2 jest zapewne częściej spotykany, gdyż mapuje większy zakres liczb oraz nie ma problemu zera ujemnego i dodatniego jak w systemie U1 oraz ZM.
Oczywiście mówimy tutaj o zapisie liczb ujemnych całkowitych. Liczby ułamkowe są zapisywane jako zmiennopozycyjne, a to już zupełnie inna bajka
Pozdrawiam.
\(\displaystyle{ \underbrace{0}_{0-dodatnia}\underbrace{00\ldots0}_{29 zer}\underbrace{10}_{2_{(10)}}}\)
Dwa pozostałe sposoby, to właśnie kody uzupełnień. Jest kod U1 (kod uzupełnień do jedności) oraz U2(kod uzupełnień do dwóch). Nie będę się na ich temat rozpisywał, gdyż na necie jest sporo materiałów. Mogę tylko powiedzieć, że U2 jest zapewne częściej spotykany, gdyż mapuje większy zakres liczb oraz nie ma problemu zera ujemnego i dodatniego jak w systemie U1 oraz ZM.
Oczywiście mówimy tutaj o zapisie liczb ujemnych całkowitych. Liczby ułamkowe są zapisywane jako zmiennopozycyjne, a to już zupełnie inna bajka
Pozdrawiam.
-
- Użytkownik
- Posty: 2000
- Rejestracja: 19 lut 2008, o 17:35
- Płeć: Mężczyzna
- Lokalizacja: Stare Pole/Kraków
- Podziękował: 60 razy
- Pomógł: 202 razy
liczny ujemne w systemie binarnym
ciekawostką jest że w tej reprezentacji są dwa zera- dodatnie i ujemneZnam 3 sposoby zapisu liczb ujemnych binarnie. Jednym z nich jest właśnie ZM (znak moduł), czyli pierwszy bit liczby wyznacza czy jest ona dodatnia czy ujemna.
-
- Użytkownik
- Posty: 68
- Rejestracja: 17 lis 2008, o 19:40
- Płeć: Kobieta
- Lokalizacja: kraków
- Podziękował: 12 razy
liczny ujemne w systemie binarnym
a moze mi ktos wylozyc prosto U2? gdyz na necie jest mnostwo ale wciaz nie rozumiem :/
- rozkminiacz
- Użytkownik
- Posty: 465
- Rejestracja: 24 wrz 2008, o 20:12
- Płeć: Mężczyzna
- Lokalizacja: Krk
- Podziękował: 65 razy
- Pomógł: 36 razy