Ответ:
program pr1;
uses crt;
var
i,n:Integer;
s:Real;
function Pow(x:Integer; y:Integer) : Integer;
var
j,s1:Integer;
begin
s1:=1;
for j:=1 to y do s1:=s1*x;
Pow:=s1;
end;
begin
s:=1;
Writeln('Введите колличество аргументов типа 1/2^n.');
Write('n=');
ReadLn(n);
Write('S=1');
For i:=1 to n do
begin
s:=s+((Pow(-1,i))*(1/(Pow(2,i))));
Write('+(',Pow(-1,i),'*1/',(Pow(2,i)),')');
end;
Write('=',s);
readln;
end.
Объяснение:
Через цикл нужное количество раз прибавляешь к S 1/(2^i ) умноженное на -1^i, Что бы менять знак.
1) 64 * 128 * (ln(128)/ln(2)) бит = 57344 бит / 8 / 1024 = 7 кбайт.
2) 32 * 1024 * (ln(128)/ln(2)) бит = 229376 бит / 8 / 1024 = 28 кбайт.
3) 128 * 256 = 32768 пикс; (24*1024*8) бит / 32768 пикс = 6 бит на пиксель; где 2^6 = 64 цветов макс. возможное.
4) 128 * 128 = 16384 пикс; (10*1024*8) бит / 16384 пикс = 5 бит на пиксель; где 2^5 = 32 цветов макс. возможное.
Ну если рассматривать со стороны того, как все видит конечный пользователь, то нет. Если же по типу хранения информации, то электронный носитель представляет информацию в виде кода, который, при открытии, преобразуется в какой-либо объект на мониторе, тогда как остальные представляют графику или текст так, как он есть
Как вариант - сначала избавится от знака, потом проверять на кол-во разрядов. Т.е.
If (a < 0) a *= -1;
Или можно использовать cmath:
#include <cmath>
a = abs(a);
Var
A,C,k:real;
Begin
Write('A = ');ReadLn(A);
Write('C = ');ReadLn(C);
k:=0;
While A<=C do
Begin
A:=A*1.25;
k:=k+1;
End;
WriteLn('k = ',k)
End.