Описание работы контрольных примеров.
Пусть введены числа: a=63, b=127:
Перевод целых частей введенных 10-ых чисел в 8-ые.
first={7,7}, second={1,7,7}.
Перевод дробных частей введенных 10-ых чисел в 8-ые.
first_frn={0,0,0,0,0,0,0,0},second_frn={0,0,0,0,0,0,0,0}.
Корректировка массивов first,second для корректной их обработки
функцией CalcSum.
first={0,7,7}, second={1,7,7}.
Вывод введенных чисел в восмеричном виде:
‘First number(octal) is : 077.00000000’
‘Second number(octal) is : 177.00000000’
Сложение дробных частей 8-ых чисел(CalcSum):
Поразрядное сложение first_frn и second_frn.
d.digits={0,0,0,0,0,0,0,0}.
Преобразование d.digits в корректный вид
d.digits={0,0,0,0,0,0,0,0},d.carry=false;
Сложение целых частей восмеричных чисел(CalcSum)::
Если предыд. функция вернула d.carry == truе
устанавливаем флаг carry_flag.
d.carry=false.
Поразрядное сложение first и second.
d.digits={1,16,16}.
Преобразование d.digits в корректный вид
d.digits={2,7,6}.
Вывод результата сложения в восмеричном виде:
‘The Sum is(octal) : 276.00000000’
Перевод результата сложения в десятичный вид и вывод результата на консоль.
‘The Sum is(oct+oct=oct->dec) : 190.00000000’
Непосредственное сложение введенных ранее десятичных чисел и вывод результатов на консоль.
‘The Sum is(dec+dec=dec) : 190’
Пусть введены числа a=42.064, b=64.936
Перевод целых частей введенных 10-ых чисел в 8-ые.
first={5,2}, second={1,0,0}.
Перевод дробных частей введенных 10-ых чисел в 8-ые.
first_frn={0,5,0,0,0,0,0,0},second_frn={7,3,7,1,6,6,6,2}.
Корректировка массивов first,second для корректной их обработки
функцией CalcSum.
first={0,5,2}, second={1,0,0}.
Вывод введенных чисел в восмеричном виде:
‘First number(octal) is : 052.05000000’
‘Second number(octal) is : 100.73716662’
Сложение дробных частей 8-ых чисел(CalcSum):
Поразрядное сложение first_frn и second_frn.
d.digits={7,10,7,1,6,6,6,2}.
Преобразование d.digits в корректный вид
d.digits={0,0,7,1,6,6,6,2},d.carry=true;
Сложение целых частей восмеричных чисел(CalcSum)::
Если предыд. функция вернула d.carry == truе
устанавливаем флаг carry_flag.
d.carry=true.
Поразрядное сложение first и second.(если необходимо, добавляем 1 «в уме» [ carry_flag] )
d.digits={1,5,3}.
Преобразование d.digits в корректный вид
d.digits={1,5,3}.
Вывод результата сложения в восмеричном виде:
‘The Sum is(octal) : 153.00716662’
Перевод результата сложения в десятичный вид и вывод результата на консоль.
‘The Sum is(oct+oct=oct->dec) : 107.01412498’
Непосредственное сложение введенных ранее десятичных чисел и вывод результатов на консоль.
‘The Sum is(dec+dec=dec) : 107’