В 2 байтах представлено целое отрицательное число в формате с фиксированной точкой: 1000 1101 0000 1100. Что это за число? Ответ представьте в десятичном виде
от

1 Ответ

дано:  
число в двоичном формате 1000110100001100

найти:  
соответствующее десятичное число

решение:  
1. Определим, что число отрицательное, так как старший бит равен 1. Это значит, что нужно использовать представление со знаком.

2. Преобразуем число в его положительное значение, используя метод двухкомплемента:
   - Инвертируем все биты:
     10001101 00001100 → 01110010 11110011.
   
   - Добавляем 1 к младшему биту:
     01110010 11110011
     + 00000000 00000001
     ---------------------
     01110010 11110100.

3. Теперь преобразуем полученное двоичное значение 0111001011110100 в десятичную систему счисления:
   - Разделим на байты: 01110010 и 11110100.
   - Сначала обрабатываем первый байт (01110010):
     0 * 2^7 + 1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 0 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 = 0 + 64 + 32 + 16 + 0 + 0 + 2 + 0 = 114.
     
   - Обрабатываем второй байт (11110100):
     1 * 2^7 + 1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 0 * 2^1 + 0 * 2^0 = 128 + 64 + 32 + 16 + 0 + 4 + 0 + 0 = 244.

   - Теперь объединяем оба байта, чтобы получить 16-битное значение:
     114 * 256 + 244 = 29184.

4. Поскольку изначальное значение было отрицательным, просто добавляем знак:
   Получаем -29184.

ответ:  
-29184
от