Программирование на JAVA

Двоичное значение

b3b2b1b0

Представление числа в системе

значения со знаком

дополнения до единицы

дополнения до двух

0111

+7

+7

+7

0110

+6

+6

+6

0101

+5

+5

+5

0100

+4

+4

+4

0011

+3

+3

+3

0010

+2

+2

+2

0001

+1

+1

+1

0000

+0

+0

+0

1000

-0

-7

-8

1001

-1

-6

-7

1010

-2

-5

-6

1011

-3

-4

-5

1100

-4

-3

-4

1101

-5

-2

-3

1110

-6

-1

-2

1111

-7

-0

-1

Рис. 4.1. Двоичное представление целых чисел со знаком

Сложение положительных целых чисел

Рассмотрим принцип сложения двух одноразрядных чисел. Результат выполне­ния этой операции приведен на рис. 4.2. Обратите внимание, что для записи ре­зультата сложения двух единиц необходим 2-битовый вектор 10, представляю­щий значение 2. В этом случае говорят, что сумма равняется 0, а перенос — 1. Для сложения многоразрядных чисел используется метод, аналогичный тому, с помо­щью которого мы складываем десятичные числа на бумаге. Складываются пары разрядов, начиная с младшего разряда, то есть с правого края битового вектора, с переносом в направлении старшего разряда, то есть левого края битового вектора.

  0            1          0          1

+0          +0        +1        +1


0          1          1        10

Перенос

Рис. 4.2. Сложение одноразрядных чисел

Сложение и вычитание целых чисел со знаком

Итак, вы уже знакомы с тремя системами представления положительных и отри­цательных чисел, или, проще говоря, чисел со знаком. Эти системы различаются только способами представления отрицательных значений. Их сравнительные преимущества


<< назад вперед >>