Другие языки программирования и технологии

Вопрос по поводу Pascal...Нужна помощь!

Нужно составить программу перевода чисел и двоичной системы счисления в десятичню. Если можно, сделать как-то все по-проще без процедур и функций.Заранее всем-всем СПАСИБО!!!
Доброго времени суток.

Допустим, в переменную S типа String принимается входное двоичное число. Тогда программа его перевода в десятичное может быть такой.

DecN := 0; {переменная для накапливания десятичного числа}
P := 1; {степень 2 (начальное значение 2^0)}
for i:=Length(S) downto 1 do begin {цикл по всем символам двоичного числа от младшего разряда к старшему}
DecN := DecN + (Ord(S[ i ]) - Ord('0'))*P; {умножаем значение разряда на степень 2 и добавляем к результату}
P := P * 2; {следующая степень двойки}
end;
WriteLn(DecN); {выводим результат}

Для того, чтобы можно было преобразовывать числа больше 65535, тип переменных DecN и Р лучше взять Longint. И остальное оформление сами, пожалуйста.

Степень 2 можно получать и с помощью сдвигов. Сначала P := 1; а затем вместо P := P * 2; делать P := P shl 1;

Удачи!
Максим Астахов
Максим Астахов
59 612
Лучший ответ
а почему бы и нет ...тока вот нада знать ASM там и функций и процедур и вообще ничего понятного нету но зато он интегрирован в паскаль
ps токаж не надумыйся делать делением на 2 есть более быстрые алгоритмы со сдвигом
Вы что какой АСМ перевод из ДВОИЧНОЙ в ДЕСЯТИЧНУЮ, например число 101 так переводистя:
1)1 умножаем на 2 в нулевой степени = 1
2)0 умножаем на 2 в первой степени = 0
3)1 умножаем на 2 во второй степени = 4
1+0+4=5.
101 это 5 в десятичной системе счисления!
т. е. общий алгоритм:
1)первую цифру умножаем на 2 в нулевой
2)вторую цифру умножаем на 2 а первой
....
n)n-ную цифру умножаем на 2 в степени n-1
и складываем полученное!
Да
Давладжон
1 510
вообще то можно ...как на листках в школе переводили благодаря математике, делению на 2
Александр Колечкин делением на 2??? О_о круть!!
B101 ты как собрался делить на 2??!!
Из bin в dec люди переводят вот так:
Bn*2^(n)
где n=[0..(длины бинарного числа) ]
Bn- текущий элемент в бинарном числе на позиции n причем отсчет идет справа налево!