Я постарался написать код максимально близкий к вашей задаче, я написал полностью готовую программу на Embarcadero RAD Studio XE5 (Delphi):
program Project1;
uses
System.SysUtils,math;
var
v,step1,step2,povt,i,j:integer;
b,c:single;
label met1;
begin
for povt:=0 to 1000 do // повторить программу 1000 раз
begin
met1:
write('vvedite chislo: '); // ввести число
readln(v);
if(v<1)then
begin
writeln;
write('vvedite chislo >=1 !!!');
writeln;
writeln;
goto met1;
end;
writeln;
i:=0;
while power(2,i)
begin
step1:=i;
b:=power(2,i);
i:=i+1;
end; // конец цикла
if(power(2,step1+1)=v)then // для нахождения числа больше данного
begin // если введённое число равно 2 в N степени
step2:=step1+2;
c:=power(2,step2);
end
else // для нахождения числа больше данного
begin // если введённое число меньше 2 в N степени
step2:=step1+1;
c:=power(2,step2);
end;
i:=Round(b);
j:=Round(c);
write('chislo ',v,' lezhit mezhdu ',i,' i ',j,' => mezhdu 2^',step1,' i ','2^',step2);
writeln;
writeln;
end;
end.
Скачать исходники этого проекта можно отсюда: https://yadi.sk/d/l86Yk3SEcR8P3