Системы счисления по основанию 2, 8, 10, 16. Представление целых неотрицательных и отрицательных чисел в ЭВМ. Прямой, обратный и дополнительный коды. Примеры прямого, обратного и дополнительного кодов восьмибитового положительного и отрицательного целого числа. Запишите в десятичной с.с. целое число по его дополнительному коду.

Представление целых чисел в компьютере.

Целые числа являются простейшими числовыми данными, с которыми оперирует ЭВМ. Для целых чисел существуют два представления: беззнаковое (только для неотрицательных целых чисел) и со знаком. Очевидно, что отрицательные числа можно представлять только в знаковом виде. Целые числа в компьютере хранятся в формате с фиксированной запятой.

Представление целых чисел в беззнаковых целых типах.

Для беззнакового представления все разряды ячейки отводятся под представление самого числа. Например, в байте (8 бит) можно представить беззнаковые числа от 0 до 255. Поэтому, если известно, что числовая величина является неотрицательной, то выгоднее рассматривать её как беззнаковую.

Представление целых чисел в знаковых целых типах.

Для представления со знаком самый старший (левый) бит отводится под знак числа, остальные разряды - под само число. Если число положительное, то в знаковый разряд помещается 0, если отрицательное - 1. Например, в байте можно представить знаковые числа от -128 до 127.
Прямой код числа.

Представление числа в привычной форме "знак" - "величина", при которой старший разряд ячейки отводится под знак, а остальные - под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно.
Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины. Прямой код отрицательного числа отличается от прямого кода соответствующего положительного числа лишь содержимым знакового разряда. Но отрицательные целые числа не представляются в ЭВМ с помощью прямого кода, для их представления используется так называемый дополнительный код.

Дополнительный код числа.

Дополнительный код положительного числа равен прямому коду этого числа. Дополнительный код отрицательного числа m равен 2k-|m|, где k - количество разрядов в ячейке.
Как уже было сказано, при представлении неотрицательных чисел в беззнаковом формате все разряды ячейки отводятся под само число. Например, запись числа 243=11110011 в одном байте при беззнаковом представлении будет выглядеть следующим образом:
1 1 1 1 0 0 1

При представлении целых чисел со знаком старший (левый) разряд отводится под знак числа, и под собственно число остаётся на один разряд меньше. Поэтому, если приведённое выше состояние ячейки рассматривать как запись целого числа со знаком, то для компьютера в этой ячейке записано число -13 (243+13=256=28).
Но если это же отрицательное число записать в ячейку из 16-ти разрядов, то содержимое ячейки будет следующим:
1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1

Обратный код положительного двоичного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Вопрос 8 (Системы счисления по основанию 2, 8, 10, 16. Представление целых неотрицательных и отрицательных чисел в ЭВМ. Прямой, обратный и дополнительный коды. Примеры прямого, обратного и дополнительного кодов восьмибитового положительного и отрицательного целого числа. Запишите в десятичной с.с. целое число по его дополнительному коду.)

Система счисления — это способ записи чисел с помощью заданного набора специальных знаков (цифр).
Существуют системы позиционные и непозиционные. Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.
Десятичная система счисления
Эта система пришла в Европу из Индии, где она появилась не позднее VI века н. э. В этой системе 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, но информацию несет не только цифра, но и место, на котором цифра стоит (то есть ее позиция). В десятичной системесчисления особую роль играют число 10 и его степени; 10, 100, 1000 и т. д. Крайняя правая цифра числа показывает число единиц, вторая справа — число десятков, следующая — число сотен и т. д. Причина наибольшей распространенностидесятичной системы счисления состоит в том, что первым счетным аппаратом человека являлись его руки. Число пальцев и стало отправным пунктом для системы счета.
Двоичная система счисления
В этой системе всего две цифры — 0 и 1. Особую роль здесь играет число 2 и его степени: 2, 4, 8 и т. д. Крайняя правая цифра числа показывает число единиц, следующая цифра — число двоек, следующая — число четверок и т. д. Двоичная система счисления позволяет закодировать любое натуральное число — представить его в виде последовательности нулей и единиц. В двоичном виде можно представлять не только числа, но и любую другую информацию: тексты, картинки, фильмы и аудиозаписи. Инженеров двоичное кодирование привлекает тем, что легко реализуется технически.
Восьмеричная система счисления
В этой системе счисления 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7. Цифра 1, указанная в самом младшем разряде, означает — как и в десятичном числе — просто единицу. Та же цифра 1 в следующем разряде означает 8, в следующем 64 и т. д. Число 100 (восьмеричное) есть не что иное, как 64 (десятичное). Чтобы перевести в двоичную систему, например, число 611 (восьмеричное), надо заменить каждую цифру эквивалентной ей двоичной триадой (тройкой цифр). Легко догадаться, что для перевода многозначного двоичного числа в восьмеричную систему нужно разбить его на триады справа налево и заменить каждую триаду соответствующей восьмеричной цифрой.
Шестнадцатеричная система счисления
Запись числа в восьмеричной системе счисления достаточно компактна, но еще компактнее она получается в шестнадцатеричной системе. В качестве первых 10 из 16 шестнадцатеричных цифр взяты привычные цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, а вот в качестве остальных 6 цифр используют первые буквы латинского алфавита: А, В, С, D, Е, F. Цифра 1, записанная в самом младшем разряде, означает просто единицу. Та же цифра 1 в следующем разряде — 16 (десятичное), в следующем — 256 (десятичное) и т. д. Цифра F, указанная в самом младшем разряде, означает 15 (десятичное). Перевод из шестнадцатеричной системы в двоичную и обратно производится аналогично тому, как это делается для восьмеричной системы.


Представление целых чисел
Для представления чисел в ЭВМ обычно используют битовые наборы — последовательности нулей и единиц фиксированной длины. Организовать обработку наборов фиксированной длины технически легче, чем наборов переменной длины. Позиция в битовом наборе называется разрядом. В ЭВМ разрядом называют также часть регистра (или ячейки памяти), хранящую один бит.

Положительные целые числа ( и число 0 )

Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — цифровая часть содержит двоичную запись числа, в знаковом разряде содержится 0. Например, для k = 8: