Лекция "Коды чисел: прямой, обратный, дополнительный"

  • Лекции
  • docx
  • 14.03.2017
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Представление числа в привычной форме "знак"-"величина", при которой старший разряд ячейки отводится под знак, а остальные - под запись числа в двоичной системе, называется прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и -1001 для 8-разрядной ячейки равен 00001001 и 10001001 соответственно. Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой код числа полностью совпадает с записью самого числа в ячейке машины.
Иконка файла материала билет 15 тема 1.docx
билет 15 15 Коды чисел: прямой, обратный, дополнительный Коды чисел Прямой код числа. Представление числа в привычной форме "знак"­"величина", при которой старший разряд  ячейки отводится под знак, а остальные ­ под запись числа в двоичной системе, называется  прямым кодом двоичного числа. Например, прямой код двоичных чисел 1001 и ­1001 для  8­разрядной ячейки равен 00001001 и 10001001 соответственно. Положительные числа в ЭВМ всегда представляются с помощью прямого кода. Прямой  код числа полностью совпадает с записью самого числа в ячейке машины. Прямой код  отрицательного числа отличается от прямого кода соответствующего положительного  числа лишь содержимым знакового разряда. Но отрицательные целые числа не  представляются в ЭВМ с помощью прямого кода, для их представления используется так  называемый дополнительный код. Дополнительный код числа. Дополнительный код положительного числа равен прямому коду этого числа.  Дополнительный код отрицательного числа m равен 2k­|m|, где k ­ количество разрядов в  ячейке. Как уже было сказано, при представлении неотрицательных чисел в беззнаковом формате  все разряды ячейки отводятся под само число. Например, запись числа 243=11110011 в  одном байте при беззнаковом представлении будет выглядеть следующим образом: 1 1 1 1 0 0 1 1 При представлении целых чисел со знаком старший (левый) разряд отводится под знак  числа, и под собственно число остаётся на один разряд меньше. Поэтому, если приведённое выше состояние ячейки рассматривать как запись целого числа со знаком, то для  компьютера в этой ячейке записано число ­13 (243+13=256=28). Но если это же отрицательное число записать в ячейку из 16­ти разрядов, то содержимое  ячейки будет следующим: 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 Знаковый разряд Возникает вопрос: с какой целью отрицательные числа записываются в виде  дополнительного кода и как получить дополнительный код отрицательного числа? Дополнительный код используется для упрощения выполнения арифметических  операций. Если бы вычислительная машина работала с прямыми кодами положительных и  отрицательных чисел, то при выполнении арифметических операций следовало бы  выполнять ряд дополнительных действий. Например, при сложении нужно было бы  проверять знаки обоих операндов и определять знак результата. Если знаки одинаковые, то вычисляется сумма операндов и ей присваивается тот же знак. Если знаки разные, то из  большего по абсолютной величине числа вычитается меньшее и результату присваивается  знак большего числа. То есть при таком представлении чисел (в виде только прямого кода)  операция сложения реализуется через достаточно сложный алгоритм. Если же  отрицательные числа представлять в виде дополнительного кода, то операция сложения, в  том числе и разного знака, сводится к из поразрядному сложению. Для компьютерного представления целых чисел обычно используется один, два или четыре  байта, то есть ячейка памяти будет состоять из восьми, шестнадцати или тридцати двух  разрядов соответственно