Написать программу, которая для случайно введенных с клавиатуры числе а, в, с выполняет действия: а) четные числа делит на 2 и результат выводит на экран б) нечетные числа выводит на экран без изменений
Var a,b,c:integer; begin read(a,b,c); if odd(a) then write(a,' ') else write(a/2,' '); if odd(b) then write(b,' ') else write(b/2,' '); if odd(c) then write(c,' ') else write(c/2,' '); end.
Разрядность процессора – это величина, которая определяет размер машинного слова, то есть количество информации, которой процессор обменивается информацией с оперативной памятью.
В наши дни первым фактором можно приниберечь, т.к. все современные процессоры одинаково работать, как в 32-х, так и в 64-х битном режиме.
Ещё раз подчёркиваю, что никакой разницы нет.
Что касается оперативной памяти, то в этом и заключается вся суть.
Дело в том, что каждая ячейка (8 бит = 1 байт) ОЗУ имеет адрес и в 32-х битной системе он записывается в виде двоичного кода длиной в 32 символа. Из простых математических преобразований получаем 2^32=4294967296 байт = 4 ГБ. То есть, в 32-битной системе, ячейки памяти условно расположенные за пределом 4ГБ просто не получат адреса и не будут использоваться. Если использовать 64-х битную систему, то размер адресуемой памяти 2^64= 18446744073709551616. Разница, как говорится, видна не вооружённым взглядом.
Из этого всего следует вывод, что ключевым фактором является размер ОЗУ: меньше 4 ГБ стоит выбрать 32-разрядную, больше 4 ГБ – 64-разрядную.
Соответственно, максимальная разрядность 64-разрядная
begin
read(a,b,c);
if odd(a) then write(a,' ')
else write(a/2,' ');
if odd(b) then write(b,' ')
else write(b/2,' ');
if odd(c) then write(c,' ')
else write(c/2,' ');
end.