Е.А. Тулаева МОУ СОШ 18 г.Пенза Кодирование чисел в компьютере Представление чисел в формате с фиксированной запятой (числа со знаком)
Представление целых чисел в знаковых целых типах. Для хранения целых чисел со знаком может отводиться одна ячейка памяти (8 бит), две ячейки памяти (16 битов), а для хранения больших целых чисел со знаком отводится четыре ячейки памяти (32 бита). Старший (левый) разряд отводится под знак числа (если число положительное, то в знаковый разряд записывается 0, если число отрицательное записывается 1). Например, в 1 байте можно представить знаковые числа от -128 до 127.
Прямой код числа. Представление числа в привычной форме "знак"-"величина", при которой старший разряд ячейки отводится под знак, а остальные - под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, = Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины.
Обратный код Обратный код получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака: нули заменяются единицами, а единицы нулями. При этом код знака не меняется.
Дополнительный код Для представления отрицательных целых чисел используется так называемый дополнительный код. Дополнительный код позволяет заменить арифметическую операцию вычитания операцией сложения, что существенно упрощает работу процессора и увеличивает его быстродействие. Дополнительный код получается прибавлением единицы к младшему разряду обратного кода.
Пример: Получим 8-разрядный дополнительный код числа -52: число |-52|=52 в прямом коде число -52 в обратном коде число -52 в дополнительном коде Можно заметить, что представление целого числа не очень удобно изображать в двоичной системе, поэтому часто используют шестнадцатеричное представление: 1100 С С