Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 25 сентября 2025 13:04

Как в памяти компьютера представляются целые положительные и отрицательные числа

Ответ нейросети

25 сентября 2025 13:04

Крупно говоря, целые числа в памяти обычно хранятся в фиксированной разрядности (8, 16, 32, 64 бита). Есть беззнаковые и знаковые представления. На практике почти повсеместно для знаковых чисел используют двух’s complement, реже — знаковый код или обратный код.

Что это значит на примере 8 бит

  1. Беззнаковый (unsigned)
  • Диапазон: 0 … 2^8 − 1 = 0 … 255
  • Битовая строка прямо кодирует величину.
  • Например: 13 = 00001101.
  1. Знаковый через знак и модуль (sign-magnitude, SM)
  • Старший бит (MSB) — знак: 0 положительное, 1 отрицательное; остальные биты — величина по модулю.
  • Диапазон: -(2^7 − 1) … +(2^7 − 1) и два представления нуля (+0 и −0).
  • Например: +5 = 0 0000101 → 00000101; −5 = 1 0000101 → 10000101.
  1. Обратный код (one’s complement, OC)
  • Отрицательное число кодируется как битовая инверсия представления его_abs (для положительного x это просто x; для −x — инверсия всех битов x).
  • Есть два нуля: 00000000 (+0) и 11111111 (−0).
  • Пример: +5 = 00000101; −5 = инверсия 00000101 → 11111010.
  • При сложении необходимо учесть «end-around carry» (если есть перенос за пределы разрядности, сложить его обратно в младший разряд).
  1. Двух’s complemento (two’s complement, TC)
  • Это современный стандарт: старший бит — знак, но отрицательное число кодируется как 2^n − |x|. Сам ноль единственный: 00000000.
  • Диапазон: −2^7 … 2^7 − 1 = −128 … +127.
  • Примеры (8 бит):
    • +5 = 00000101
    • −5 = 2^8 − 5 = 256 − 5 = 251 → 11111011
    • −1 = 11111111
    • −128 = 10000000
  • Преимущества: сложение и вычитание работают одинаково для знаковых и беззнаковых чисел; единый механизм обработки переполнения.

Почему чаще всего используют двух’s complemento

  • Простая арифметика: сложение и вычитание работают одинаково для положительных и отрицательных чисел, переполнение просто забрасывается в старший бит.
  • Единственное нулевое представление.

Коротко о конвертации в двух’s complemento

  • Для неотрицательного x: просто двоичное представление.
  • Для отрицательного −x (0 < x < 2^n): взять двоичное представление x, инвертировать все биты и прибавить 1.
  • Пример: −18 в 8 битах → 2^8 − 18 = 238 → 11101110.

Ключевые моменты

  • Беззнаковые числа кодируются напрямую битами.
  • Знаковые схемы SM и OC существуют исторически, но TC стал де-факто стандартом в современных процессорах.
  • Объем диапазона зависит от разрядности (8, 16, 32, 64 бита и т. д.).
  • Переполнение наблюдается, если результат выходит за допустимый диапазон.

Если нужно, могу привести задачи на преобразование конкретного числа в нужном формате (8/16/32-бит) или разобрать пример сложения в двух’s complemento.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Как в памяти компьютера представляются целые положительные и отрицательные числа
Крупно говоря, целые числа в памяти обычно хранятся в фиксированной разрядности (8, 16, 32, 64 бита). Есть беззнаковые и знаковые представления. На практике почти повсеместно для знаковых чисел используют двух’s complement, реже — знаковый код или обратный код. Что это значит на примере 8 бит 1) Беззнаковый (unsigned) - Диапазон: 0 … 2^8 − 1 = 0 … 255 - Битовая строка прямо кодирует величину. - Например: 13 = 00001101. 2) Знаковый через знак и модуль (sign-magnitude, SM) - Старший бит (MSB) — знак: 0 положительное, 1 отрицательное; остальные биты — величина по модулю. - Диапазон: -(2^7 − 1) … +(2^7 − 1) и два представления нуля (+0 и −0). - Например: +5 = 0 0000101 → 00000101; −5 = 1 0000101 → 10000101. 3) Обратный код (one’s complement, OC) - Отрицательное число кодируется как битовая инверсия представления его_abs (для положительного x это просто x; для −x — инверсия всех битов x). - Есть два нуля: 00000000 (+0) и 11111111 (−0). - Пример: +5 = 00000101; −5 = инверсия 00000101 → 11111010. - При сложении необходимо учесть «end-around carry» (если есть перенос за пределы разрядности, сложить его обратно в младший разряд). 4) Двух’s complemento (two’s complement, TC) - Это современный стандарт: старший бит — знак, но отрицательное число кодируется как 2^n − |x|. Сам ноль единственный: 00000000. - Диапазон: −2^7 … 2^7 − 1 = −128 … +127. - Примеры (8 бит): - +5 = 00000101 - −5 = 2^8 − 5 = 256 − 5 = 251 → 11111011 - −1 = 11111111 - −128 = 10000000 - Преимущества: сложение и вычитание работают одинаково для знаковых и беззнаковых чисел; единый механизм обработки переполнения. Почему чаще всего используют двух’s complemento - Простая арифметика: сложение и вычитание работают одинаково для положительных и отрицательных чисел, переполнение просто забрасывается в старший бит. - Единственное нулевое представление. Коротко о конвертации в двух’s complemento - Для неотрицательного x: просто двоичное представление. - Для отрицательного −x (0 < x < 2^n): взять двоичное представление x, инвертировать все биты и прибавить 1. - Пример: −18 в 8 битах → 2^8 − 18 = 238 → 11101110. Ключевые моменты - Беззнаковые числа кодируются напрямую битами. - Знаковые схемы SM и OC существуют исторически, но TC стал де-факто стандартом в современных процессорах. - Объем диапазона зависит от разрядности (8, 16, 32, 64 бита и т. д.). - Переполнение наблюдается, если результат выходит за допустимый диапазон. Если нужно, могу привести задачи на преобразование конкретного числа в нужном формате (8/16/32-бит) или разобрать пример сложения в двух’s complemento.