Главная страница  Систематические методы минимизации 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [ 17 ] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128]

Таблица 2.2. Перевод числа с основанием 10 в число с требуемым основанием методом последовательного деления и умножения

(1138,68)10 = = (10001010,

10.10111)2

Последовательное деление

138 : 2 = 69, остаток О {ро) 69 : 2 = 34 -»- ,1 (pi)

34 : 2 = 17 17 : 2 = 8 8:2 = 4 4:2 = 2 2:2 = !1 1:2 = 0

0{Р2) -»- /1 (рз)

0(Р4)

0(Р5)

0 (ре)

1 (Р7)

Последовательное умножение

0,68-2 = 0,36-2 0,72-2 = 0,44-2 = 0,88-2 0,76-2 0,52-2 : 0,04-2

: 1,361 (p-i) -- 0,72-0 ip-i) 1,441 (р з) = 0,88 (p-i) = (1,761 (р 5) = 1,52-1 (р-е) 1,04-1 (р-7) = 0,08 (р-в)

(138,68)) 10 = = (212, 534...) g

.138 17 2

8 = 17, остаток 2 8 = 2 -»- 1 8 = 0 -»- 2

0,68-8 0,44-8 0,52-8 =

= 5,445 = 3,52--3 4,16-

(138,68)10 = (12010, 2010...) а

138 . 3 = 46, остаток О 46:3= 15 -»- 1 15:3 = 5 -»- О 5:3=1 -»- 2 1:3 = 0 -»- )1

0,68-3 = 2,04-2 0,04-3 = 0,12-0 0,12-3 = 0,36- 0,36-3 = 1,081 0,08-3 = 0,24-0

= (Ю*-0,1282422) 10. Число, имеющее меньший порядок, должно быть сдвинуто вправо на столько позиций, чтобы был получен соответствующий порядок.

2.2. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ С ДВОИЧНЫМИ ЧИСЛАМИ

Последовательность основных арифметических операций, производимых с ДВОИЧНЫМИ числами, подобна действиям с десятичными числами. Основные правила сложения и вычитания двоичных чисел представлены в табл. 2.3. При сложении двух цифр 1 получается О и возникает так называемый перенос 1, что означает передачу цифры 1 в ближайший высший разряд, где она складывается с имеющимися там цифрами. При вычитании цифры 1 из цифры О из ближайшего высшего разряда берется цифра 1, что означает так называемый заем. Операцию вычитания, представленную в табл. 2.3, можно упростить, используя дополнения отрицательных двоичных чисел*). Рассмотрим следующий пример: произвести сложение двух чисел: Л = 111111111 и Б = 000000001:

1 1111111 1ч-переносы 111111111

000000001

j 00000000 0-«-сумма J В отечественной литературе - дополнительный код. (Прим. ред.).



Основные правила

у4=(100110,01)г=(38,25),, B=(ini0],ll)j=(61,75),

0+0=0 о

0+1 = 1 о

1+0=1 о

1+1=0 I

1+1+1=1 1

11111111

А 100 110,01 в + 14 10 1,11 А*8 1100 100,00

1+\=0; Ь0*1=0; ->-

0-0=0 о 0-1=1 1 1-0=1 о 1-1=0 о -1-1=0 I 1-1-1=1 1

А В А-В

unci,и

-100110,01

1,W ILJ

1-1=0 1-0=1

1-0 = 1

if 0-1 =1 Ч-1-1Ч; 1-0-1=0 . 1-0 = 1 - 1-1rO

заем

Если не принимать во внимание последний перенос 1 влево, то сумма этих чисел равна О, а так как (000000001)2= (l)io, то должно быть (111111111)2= (-l)io, т. е. ЭТО взаимно дополняющие числа. Двоичным дополнением числа 000000001 является число 111111111 и наоборот. Двоичное дополнение каждого числа можно определить следующим образом: в данном числе заменяется цифра 1 на О, а О на 1 и к самому младшему разряду прибавляется цифра 1. Рассмотрим пример девятиразрядного числа:

(2)io=(0 О О О О О О 1 0)2 двоичное =111111101

дополнение +

+ (11111111 0)2=(-2)„.



Подобным образом получены двоичные дополнения в табл. 2.4. У положительных чисел первая цифра слева О, у отрицатель-

Таблица 2.4. Двоичные дополнения

Связи

Двоичные дополнения

Десятичные числа

01111 1111

0 0 0 0 ООО

+225

-255

НЫХ - всегда 1. Это так называемый знак числа. Двоичные дополнения позволяют упростить вычитание таким образом, что к уменьшаемому прибавляется дополнение вычитаемого. При .вычитании двух чисел может быть использовано единичное дополне-яие), получаемое простой заменой цифр 1 на О и О на 1. Примеры вычитания двух чисел с двоичным или единичным дополнением представлены в табл. 2.5.

Если вычитаемое меньше уменьшаемого, то результирующая цифра, стоящая на первом месте слева, отбрасывается, а к цифре результата добавляется 1. Это так называемый циклический перенос).

Умножение двоичных чисел производится очень просто. Если цифра множителя 1, то произведение равно множимому; если мно-

*) В отечественной литературе - обратный код. (Прим. ред.). ) Циклический перенос осуществляется только при выполнении операции с использованием единичного дополяейия. (При.и. ред).




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [ 17 ] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128]

0.0418