![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Очередной тупой вопрос [D7, XP]
Тупак © (2006-08-21 20:59:00)Как перевести число из Edit1 из десятичной системы например в восьмеричную?
Zeqfreed (2006-08-21 22:27:00) [1]> [9] begin...end © (21.08.06 21:38)
Ну да, я имел в виду, что последний раз можно не делить. Никак что-то мой мозг не хочет принимать то, что 2/4 = 0 + 2 в остатке, хотя понять и объяснить я это могу :)
Ketmar (2006-08-21 22:06:00) [2]"всё отнять и поделить!" (ц)
извиняюсь за оффтоп...
Anatoly Podgoretsky (2006-08-21 22:04:00) [3]Делить, делить
begin...end (2006-08-21 21:38:00) [4]> tesseract © (21.08.06 21:19) [6]
Да, конечно. В случае дробей по алгоритму [3] переводится только целая часть числа. Дробная же часть переводится последовательным её умножением на основание с выделением целых частей результата.
> Zeqfreed © (21.08.06 21:22) [7]
Я говорил о том, как составить представление по остаткам от деления на основание, поэтому по алгоритму [3] делить нужно всё же именно до тех пор, пока не останется 0 (см. примеры в [8]). Хотя, разумеется, псоледний раз можно и не делить -- очевидно, на последнем шаге делимое совпадает с остатком.
Zeqfreed (2006-08-21 21:22:00) [5]> [3] begin...end © (21.08.06 21:10)
Только не нолик, а цифра меньшая основания системы счисления (т.е. меньшая 8).
begin...end (2006-08-21 21:22:00) [6]> Тупак
Вообще, как, имея число, получить цифры его десятичного представления? Нужно последовательно делить его на 10 , т.е. на основание десятичной системы счисления, и смотреть на остатки. Например, число 1983:
1983 : 10 = 198 + 3
198 : 10 = 19 + 8
19 : 10 = 1 + 9
1 : 10 = 0 + 1
Как видите, остатки от деления -- это и есть цифры десятичного представления (только получаются они в "обратном порядке", от младшего разряда к старшему).
Точно так же будет и с восьмеричной системой, только теперь уже надо будет делить на 8 , т.е. на основание восьмеричной системы. Например, число 751:
751 : 8 = 93 + 7
93 : 8 = 11 + 5
11 : 8 = 1 + 3
1 : 8 = 0 + 1
Значит, десятичное число 751 в восьмерчиной системе будет выглядеть как 1357.
tesseract (2006-08-21 21:19:00) [7]> [3] begin...end © (21.08.06 21:10)
насколько помню, это только для целых чисел.
Джо (2006-08-21 21:15:00) [8]> Остатки от деления на каждом шаге и будут цифрами восьмеричного
> представления.
В обратном порядке следования. Уточню на всякий случай.
GeLLeR (2006-08-21 21:12:00) [9]АГРОМНОЕ СПАСИБО
begin...end (2006-08-21 21:10:00) [10]Последовательно делить число на 8, пока от него не останется нолик. Остатки от деления на каждом шаге и будут цифрами восьмеричного представления.
Тупак (2006-08-21 21:06:00) [11]Мне надо именно восьмеричную. Тем более извените, на я поставил вопрос
КАК ЭТО СДЕЛАТЬ, А НЕ КАКАЯ ЛУЧШЕ...
Leonid Troyanovsky (2006-08-21 21:02:00) [12]
> Тупак (21.08.06 20:59)
> Как перевести число из Edit1 из десятичной системы например
> в восьмеричную?
Восмиричная - отстой.
Пользуй шестнадцатиричную.
--
Regards, LVT.