• Предмет: Информатика
  • Автор: ZheleznovIlya
  • Вопрос задан 10 лет назад

В игрушечных компьютерах С8, С9, С10 и С16 для представления целых чисел (положительных и отрицательных) используется 8, 9, 10 и 16 бит памяти соответственно. На каком из этих компьютеров будет успешно выполнена приведенная ниже программа?

program hh;
var s,i: integer;              
beginfor i:=1 to 255 do s:=s+i
end.

Ответы

Ответ дал: emblerik
0
Сумма эта будет равна 32640. Рассмотрим, куда она влезет.
При 16 битах максимальное число будет равно:
2^{16}  
поделить на 2 (за счет наличия отрицательных чисел)
и отнять 1 за счёт нуля
 2^{16} / 2 - 1 =  32767
Это максимальное число. 32640 входит, но практически впритык. Очевидно, что если мы уменьшим хотя бы на 1 бит, то есть будет 2^{15} / 2 - 1 =  16383, то уже не влазит. Поэтому только компьютер C16
Вас заинтересует