1. Перевод числа из 10й системы счисления в р-ричную (р от 2 до 16) и обратно
2. перевеод числа с одинарной точностью
Хотелось бы получить от вас помощь) так же хочу прояснить что я учусь в 10 классе так что прошу по возможности не использовать сложные функции или прислать пояснение. Единственная проблема в той что сроки поджимают сеня суббота 19 мая а нада что бы эти 2 проги были сделаны к 21 мая экзамен 22((
Жду ответа
Цитата(Mops @ 19.05.2007 14:30)
1. Перевод числа из 10й системы счисления в р-ричную (р от 2 до 16) и обратно
2. перевеод числа с одинарной точностью
Хотелось бы получить от вас помощь) так же хочу прояснить что я учусь в 10 классе так что прошу по возможности не использовать сложные функции или прислать пояснение. Единственная проблема в той что сроки поджимают сеня суббота 19 мая а нада что бы эти 2 проги были сделаны к 21 мая экзамен 22((
Жду ответа
Пиши мне в личные сообщения, помогу.
мисс_граффити
19.05.2007 18:43
sonic, предупреждение от меня (за что - читай прилепленную в этом разделе тему).
Mops, смотри первую:
Общие вопросы по математике.про одинарную точность... что это значит?
Просто то что там написано я ваще не понимаю ни одной функции, ну почти ни одной
а вот про одинарную точность нам так сказали в школе) типа на примпер число дано 70,125 нада перевести его в 16-ную систему через 2-ю. Там мантиссы всякие смещенные порядки и тыды. я знаю как это сделать на бумажке а вот с программой не могу разобраться
мисс_граффити
19.05.2007 19:59
Тебе только function ToDec нужна.
Идея такая:
1. Удаляем все ненужные нули (то есть вместо 0000009 получаем 9)
2. m (итоговое число) приравниваем к нулю
2. В цикле умножаем m на основание системы счисления, из которой переводили, и прибавляем следующую переведенную цифру (чтобы обрабатывать и буквенные обозначения цифр, используем строку, в которой содержатся все возможные значения цифр - для сс с основанием не больше 16 это от 0 до F)
ну например:
101 в двоичной
m=0
берем первый символ (1):
m:=0*2+положение 1 в строке цифр-1=1
второй символ
m=1*2+положение 0 в строке цифр-1=2
третий символ
m=2*2+положение 1 в строке цифр-1=5
то есть алгоритм такой же, как учат в школе: разряд умножаем на основание системы счисления в той или иной степени.
так понятно?
не понимаю что делают функции digit div radix mod radix. их в шкоел не проходили
digit - это просто тип данных, который определил создатель программы, он представляет собой строку из 16 символов (какие именно - я думаю ты увидел сам).
radix - это переменная, которая хранит значение системы счисления, в которую переводим десятичное число.
div - деление нацело, то есть возвращает целую часть аргумена.
mod - остаток от деления.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.