Сложение чисел в двоичной системе можно в<span>ыполнять столбиком, как в десятичной системе (и по правилам её арифметики), но при этом если в десятичной перенос в следующий разряд происходил при сумме по разряду больше или равной десяти, то в двоичной- при сумме больше или равной двум. Из этой суммы мы вычитаем двойки (обычно одну двойку), и остаток (ноль или единицу) записываем в текущий разряд, а к следующему разряду прибавляем число, равное количеству двоек, которое мы вычли (обычно, один, если складываем только два числа). Таким образом можно складывать не только два двоичных числа, а сколько угодно одновременно. </span> 100110 + 10011 ------------ 111001
1100111 + 10001 -------------- 1111000
1101 +100101 ------------ 110010
111001 + 11001 ------------ 1010010 Про этот пример напишу подробно, как суммировал по разрядам: 1-ый разряд (разряд единиц): 1 + 1 = 2 т.к. в разряд можно записать число не больше единицы, то вычитаем из этой суммы максимальное количество двоек (здесь- одну двойку): 2 - 1*2 = 2 - 2 = 0 (этот ноль мы запишем в первый разряд ответа)
2-ой разряд: 0 + 0 +(1) = 1 (записываем во второй разряд ответа) Единица в скобках- это количество двоек (одна), которое мы вычитали из суммы по предыдущему разряду (то есть, эту единицу перенесли из предыдущего разряда, так как он переполнился)
7-ой разряд: В слагаемых нет седьмого разряда, но мы его добавили в сумму, чтобы перенести в него единицу из предыдущего разряда (складывать её не с чем, поэтому я просто напишу такое равенство): (1) = 1 (записываем в седьмой разряд ответа)
Так как далее переносить ничего не надо, то это был последний разряд, мы получили нашу сумму (перенос на несколько разрядом может возникнуть только если складываем три и более слагаемых).
1101001 + 110010 -------------- 10011011
100010 - 10011 ------------ 1111 Разность можно считать так же как сумму, только меняем все знаки (минус на плюс, а плюс на минус). Напишу про этот пример подробнее: 1-ый разряд: 0 - 1 = -1 Так как записывать отрицательное число в разряд мы не можем, до прибавляем к этой разности нужное число двоек, чтобы получить положительный результат, или ноль: -1 + 1*2 = -1 + 2 = 1 (записываем в первый разряд ответа)
2-ой разряд: 1 - 1 - (1) = 0 - 1 = -1 <span>Единица в скобках- это количество двоек (одна), которое мы прибавили к разности в предыдущем разряде (то есть, эту единицу мы заняли из второго разряда, когда считали разность в первом)</span> -1 + 1*2 = -1 + 2 = 1 (записываем в ответ)
6-ой разряд: 1 - (1) = 0 Более разрядов в исходных числах нет. В ответ запишем все вычисленные разряды, кроме двух незначащих нулей, идущих вначале ответа (шестой и пятый разряды).
Var p,m,v:real; i:integer; begin m:=0.45; p:=0.5-0.1; for i:=0 to round((1-0.5)/0.1) do begin p:=p+0.1; v:=m/p; writeln(p:4:1,' кг/м^3, V = ',v:5:3,' м^3'); end; end.
Результат: <span> 0.5 кг/м^3, V = 0.900 м^3 0.6 кг/м^3, V = 0.750 м^3 0.7 кг/м^3, V = 0.643 м^3 0.8 кг/м^3, V = 0.563 м^3 0.9 кг/м^3, V = 0.500 м^3 1.0 кг/м^3, V = 0.450 м^3</span>