Strona główna › Pytania INF.02 › Pytanie 2336
INF.02 · pytanie #2336
Liczba \( 10_{D} \) w systemie uzupełnień do dwóch jest równa
- A\(01010_{U2}\)
- B\(10010_{U2}\)
- C\(01110_{U2}\)
- D\(11010_{U2}\)
Poprawna odpowiedź: A. \(01010_{U2}\)
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Poprawna odpowiedź to 01010₂ w systemie uzupełnień do dwóch, bo liczba 10₁₀ jest dodatnia i w standardowej reprezentacji na ustaloną liczbę bitów (np. 5 bitów) zapis dodatnich liczb w kodzie U2 jest identyczny jak zwykły zapis binarny. Najpierw zamieniamy 10₁₀ na system binarny: 10₁₀ = 1010₂. Jeśli przyjmujemy długość słowa 5 bitów, to po prostu dopełniamy z lewej strony zerem: 01010₂. W kodzie U2 najważniejszy (najstarszy) bit jest bitem znaku: 0 oznacza liczbę dodatnią, 1 – ujemną. Tutaj mamy 0 na początku, więc wszystko się zgadza: dodatnia dziesiątka. Moim zdaniem kluczowe jest zapamiętanie, że dla liczb dodatnich nic „magicznego” się nie dzieje – U2 różni się od zwykłego binarnego tylko dla liczb ujemnych. W praktyce, w procesorach, rejestrach i pamięci operacyjnej właśnie tak to wygląda: dodatnie wartości są przechowywane dokładnie tak, jak w czystym binarnym, a ujemne są zakodowane jako uzupełnienie do dwóch. Dzięki temu układy arytmetyczno‑logiczne (ALU) mogą wykonywać dodawanie i odejmowanie na jednym, wspólnym mechanizmie, bez osobnych obwodów dla liczb ze znakiem i bez znaku. To jest standardowa, powszechnie stosowana metoda reprezentacji liczb całkowitych w architekturach zgodnych z praktycznie wszystkimi współczesnymi CPU (x86, ARM itd.). Warto też kojarzyć zakres: dla 5 bitów w U2 mamy od −16 do +15. 01010₂ mieści się w tym zakresie i odpowiada dokładnie +10. Gdyby to była liczba ujemna, mielibyśmy na początku 1 i trzeba by wykonać procedurę „odwróć bity i dodaj 1”, żeby odzyskać wartość dziesiętną.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.