Помощь - Поиск - Пользователи - Календарь
Полная версия: Перевод из Двоичной системы исчисления в десятичну
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-VIT-
Собственно вот, не знаю с чего начать даже, может кто-нибуть напишет? или пример перевода в другие системы blink.gif
volvo
Собственно, начинать надо с использования поиска:
FAQ: Общие вопросы по математике
Egor
Порылся у себя, нашёл. Работает.
А код следующий:
var
dec,i,d : Integer;
value : Byte;
s : String;
begin
Write('Input BIN number: ');
Readln(s);
for i:=Length(s) downto 1 do
begin
val(s[Length(s)-i+1],value,d);
dec:=dec+round(value*exp((i-1)*ln(2)));
end;
WriteLn('DEC=',dec);
ReadLn
end.


Всего-то blum.gif
volvo
Сравним скорость работы? wink.gif
CoolZero
а с переводом из шестнадцатеричной в двоичную не поможете?
var i,k,y,x:integer;
s:char;
p:real;
j,w:char;
f,a:string;
b:array[1..100] of string;
c:array[1..100] of integer;
begin
readln(s);
k:=1;
y:=length(s);
for i:=1 to y do
begin
b[i]:=Copy(s,k,1); inc(k);
case w of
'0': a:='0000';
'1': a:='0001';
'2': a:='0010';
'3': a:='0011';
'4': a:='0100';
'5': a:='0101';
'6': a:='0110';
'7': a:='0111';
'8': a:='1000';
'9': a:='1001';
'a': a:='1010';
'b': a:='1011';
'c': a:='1100';
'd': a:='1101';
'e': a:='1110';
'f': a:='1111'; end; end; writeln(a); readln; end.
вот не работает зараза, не знаю как из стринга в другое "расширение" перевести, чтобы с кэйсом работало unsure.gif
volvo
Системы счисления (смотри функцию HexToBin)
CoolZero
Я посмотрел, такой функции не нашел, не мог бы ты мой пример поправить
volvo
Первая же функция - и ты ее не нашел? blink.gif Ну, извини...
CoolZero
теперь нашел, а описание её можно посмотреть где-нибуть?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.