Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.11.2008, 16:55   #1
Зубоскалик
Пользователь
 
Аватар для Зубоскалик
 
Регистрация: 02.09.2008
Сообщений: 15
Восклицание Работа с числами в delphi

Народ, помогите:
1. Как в Delphi7 переводить переменные из десятичной
системы в 2-,3-,4-,5-,8- и 16-ричную и наоборот?

2. Как в edit-строке проверять символ под определенным
числом и кол-во символов в строке(например, проверить,
какая цифра например третья в строе, сколько в строке
цифр и тп)?

3. Как округлять дроби до целых вверх/вниз и получать
их в виде Integer?
Программист - это не тот кто пишет программы, а тот, чьи программы работают.
Зубоскалик вне форума Ответить с цитированием
Старый 27.11.2008, 17:13   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

3. Используйте функции RoundTo (округление до какого-то значения, кажется так), Int(отброс дробной части), StrToFloatF (преобразование к какому-то формату, например, ffFixed, ffCurrency).
2. Или я пропустил лекцию по системам счисления или это недавно придумали, что есть троичная, четверичная, пятиричная системы счислений
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.11.2008, 17:18   #3
Зубоскалик
Пользователь
 
Аватар для Зубоскалик
 
Регистрация: 02.09.2008
Сообщений: 15
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
2. Или я пропустил лекцию по системам счисления или это недавно придумали, что есть троичная, четверичная, пятиричная системы счислений
Нам на уроках информатики преподают
Программист - это не тот кто пишет программы, а тот, чьи программы работают.
Зубоскалик вне форума Ответить с цитированием
Старый 27.11.2008, 17:35   #4
Zeraim
Ra-Ra ?
Форумчанин
 
Аватар для Zeraim
 
Регистрация: 06.03.2008
Сообщений: 286
По умолчанию

Ну если вам преподают на уроках, насколько я понял специализированный класс, то если ты не пропускал их то вам должны били дать правило перевода числа из любой системы исчисления в 10ую и из 10ой в любую другую, что-то вроде деления и умножения в столбик тока посложней

Текст в эдите (Edit.text) представляет из себя одномерный массив чаров. Надеюсь знаеш как обращатся с одномерными массивами, и опятьже не пропустил уроки.
Zeraim вне форума Ответить с цитированием
Старый 27.11.2008, 18:13   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Цитата:
Нам на уроках информатики преподают
Оказывается как многого нам не говорили в школе))
Зубоскалик, попробуй поискать по форуму. Я уже тут тоже не первый день лажу и кажется кто то уже создавал похожую тему как ты).
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.11.2008, 18:24   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

1. Зубоскалик, зайдите в эту тему http://programmersforum.ru/showthread.php?t=6770. Думаю, вы найдете там решение своей задачи
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.11.2008, 20:25   #7
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Вот тебе для примера перевод из 10-ой в 8-ную систему.
По аналогии сможешь сделать и другие переводы:

Код:
function IntToOct(Src: LongWord): String;
const DICT = '01234567';
begin
  Result := '';
  repeat
    Result := DICT[(Src mod 8) + 1] + Result;
    Src := Src div 8;
  until (Src div 8) = 0;
  Result := DICT[(Src mod 8) + 1] + Result;
end;
_Engine_ вне форума Ответить с цитированием
Старый 28.11.2008, 12:30   #8
Зубоскалик
Пользователь
 
Аватар для Зубоскалик
 
Регистрация: 02.09.2008
Сообщений: 15
По умолчанию

Гм... вообще-то в школе мы преобразовывали в 3-,4-,5-ричные просто для примера перевода из системы в систему.

Еще вопрос: Как вычислять кв. корни 3й, 5й, и пр степени. sqrt(sqrt(int))
дает корень 4й степени, затем 8й, 16й и тп. А как по-другому?
Программист - это не тот кто пишет программы, а тот, чьи программы работают.
Зубоскалик вне форума Ответить с цитированием
Старый 28.11.2008, 13:50   #9
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

извлечение корня - возведение в степень
X в степени Y = exp(ln(X) * Y)
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 28.11.2008, 15:16   #10
Зубоскалик
Пользователь
 
Аватар для Зубоскалик
 
Регистрация: 02.09.2008
Сообщений: 15
Плохо Ничего себе статья...

Цитата:
Сообщение от hkdkest Посмотреть сообщение
На кого это рассчитано?
Программист - это не тот кто пишет программы, а тот, чьи программы работают.
Зубоскалик вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление в блоге - Работа с дробными числами на ассемблере Pblog Обсуждение статей 0 14.11.2008 17:50
Работа с большими числами SanekIrk Общие вопросы Delphi 3 11.07.2008 22:11
Работа с числами Drain Общие вопросы Delphi 10 11.02.2008 16:35
работа с большими числами sasadabest Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.10.2007 10:51
работа с вещественными числами Soule Паскаль, Turbo Pascal, PascalABC.NET 1 12.10.2007 09:33