Чтобы найти десятичные эквиваленты чисел, представленных в 8-разрядном формате со знаком (используя прямой код), нужно учитывать, что в этом формате старший бит (первый слева) отвечает за знак числа: '0' означает положительное число, а '1' – отрицательное.
Рассмотрим оба представленных числа.
Число 01001101:
- Старший бит: 0 (число положительное).
- Чтобы получить десятичный эквивалент, просто переведем двоичное число в десятичное:
Степени двойки:
\( 0 \times 2^7 + 1 \times 2^6 + 0 \times 2^5 + 0 \times 2^4 + 1 \times 2^3 + 1 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 \)
\( = 0 + 64 + 0 + 0 + 8 + 4 + 0 + 1 \)
\( = 77 \)Таким образом, десятичный эквивалент числа 01001101 равен 77.
Число 11111000:
- Старший бит: 1 (число отрицательное).
- Для нахождения десятичного эквивалента отрицательных чисел по прямому коду, сначала определим его модуль, то есть переведем его в положительное число. Это можно сделать, инвертируя биты и прибавив 1.
- Инвертируем биты: 00000111.
- Теперь добавим 1:
\( 00000111 + 1 = 00001000 \)
- Теперь переведем 00001000 в десятичное:
\( 0 \times 2^7 + 0 \times 2^6 + 0 \times 2^5 + 0 \times 2^4 + 1 \times 2^3 + 0 \times 2^2 + 0 \times 2^1 + 0 \times 2^0 \)
\( = 0 + 0 + 0 + 0 + 8 + 0 + 0 + 0 \)
\( = 8 \)Поскольку оригинальное число было отрицательным, десятичный эквивалент будет -8.
Итак, десятичные эквиваленты чисел:
- 01001101 = 77
- 11111000 = -8