14 / 36 · Теория
Знаковые числа и переполнение
Интерпретируйте биты как беззнаковое число и дополнительный код.
Уроки доступны бесплатно. Запишитесь, чтобы сохранять прогресс.
Цели урока
- Интерпретируйте биты как беззнаковое число и дополнительный код.
Интерпретация битов
Четыре бита 1111 — это беззнаковое 15 или −1 в дополнительном коде. Знаковый диапазон N бит: от −2^(N−1) до 2^(N−1)−1. Для отрицания инвертируйте биты и прибавьте один при той же ширине: +3, 0011→1100→1101, то есть −3. Увеличение ширины требует знакового расширения.
Перенос и переполнение
В четырёх знаковых битах 7+1 даёт 1000, то есть −8. Два положительных числа дали отрицательное — знаковое переполнение без последнего переноса. Для −1+1 сумма 1111+0001 имеет перенос, но низшие 0000 верны. Согласуйте знаковость портов и переменных перед вычислением и сравнением.
Попробуйте сами
Прочитайте 1000 как беззнаковое и знаковое число.
Прочитать объяснение
Беззнаковое 8; в дополнительном коде −8.