Сергей Холодилов (fat_crocodile) wrote,
Сергей Холодилов
fat_crocodile

Очень простую штуку объяснили, как-то мимо проходила.

В книжках про ассемблер и прочее такое пишут про "представление отрицательных чисел в дополнительном коде", и потом там у них особые правила сложения-умножения, обоснования, почему это работает и всё такое.

Так вот, это всё от математической безграмотности. Этот самый дополнительный код это в точности представление по модулю 2n.

Ну, -1 == 255 mod 256 -- и оно ровно так и получается двоично.

И остальные отрицательные тоже так же.

То есть мы просто всю дорогу оперируем с остатками, складываем их, вычитаем и умножаем по общим правилам (с делением хуже), а кто там из них представляет собой отрицательное число, а кто положительное, нам надо помнить
- при сравнении
- при делении
- если расширяем число, т.е. приводим к остатку по другому модулю, большему, чем исходный
- может ещё есть пара случаев, которые я забыл
Tags: математика, программинг
Subscribe

  • A Starting Point

    Нашел сайт https://www.astartingpoint.com, на него можно полчаса-час потратить. Там есть список тем (economy, education, government,…

  • (no subject)

    Случайно с небольшой разницей во времени прочитал в вики сюжет двух американских молодежных ... комедий? Первая "Mean Girls" (…

  • (no subject)

    Из внезапного: мальчик, с которым я 3.5 года занимался математикой получил второй результат на всеросе (9-й класс). В такой формулировке это звучит…

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 12 comments

  • A Starting Point

    Нашел сайт https://www.astartingpoint.com, на него можно полчаса-час потратить. Там есть список тем (economy, education, government,…

  • (no subject)

    Случайно с небольшой разницей во времени прочитал в вики сюжет двух американских молодежных ... комедий? Первая "Mean Girls" (…

  • (no subject)

    Из внезапного: мальчик, с которым я 3.5 года занимался математикой получил второй результат на всеросе (9-й класс). В такой формулировке это звучит…