Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

Очередной тупой вопрос   Найти похожие ветки 

 
Тупак   (2006-08-21 20:59) [0]

Как перевести число из Edit1 из десятичной системы например в восьмеричную?


 
Leonid Troyanovsky ©   (2006-08-21 21:02) [1]


> Тупак   (21.08.06 20:59)  

> Как перевести число из Edit1 из десятичной системы например
> в восьмеричную?


Восмиричная - отстой.
Пользуй шестнадцатиричную.

--
Regards, LVT.


 
Тупак   (2006-08-21 21:06) [2]

Мне надо именно восьмеричную. Тем более извените, на я поставил вопрос
КАК ЭТО СДЕЛАТЬ, А НЕ КАКАЯ ЛУЧШЕ...


 
begin...end ©   (2006-08-21 21:10) [3]

Последовательно делить число на 8, пока от него не останется нолик. Остатки от деления на каждом шаге и будут цифрами восьмеричного представления.


 
GeLLeR ©   (2006-08-21 21:12) [4]

АГРОМНОЕ СПАСИБО


 
Джо ©   (2006-08-21 21:15) [5]

> Остатки от деления на каждом шаге и будут цифрами восьмеричного
> представления.

В обратном порядке следования. Уточню на всякий случай.


 
tesseract ©   (2006-08-21 21:19) [6]

> [3] begin...end ©   (21.08.06 21:10)


насколько помню, это только для целых чисел.


 
Zeqfreed ©   (2006-08-21 21:22) [7]

> [3] begin...end ©   (21.08.06 21:10)

Только не нолик, а цифра меньшая основания системы счисления (т.е. меньшая 8).


 
begin...end ©   (2006-08-21 21:22) [8]

> Тупак

Вообще, как, имея число, получить цифры его десятичного представления? Нужно последовательно делить его на 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.


 
begin...end ©   (2006-08-21 21:38) [9]

> tesseract ©   (21.08.06 21:19) [6]

Да, конечно. В случае дробей по алгоритму [3] переводится только целая часть числа. Дробная же часть переводится последовательным её умножением на основание с выделением целых частей результата.

> Zeqfreed ©   (21.08.06 21:22) [7]

Я говорил о том, как составить представление по остаткам от деления на основание, поэтому по алгоритму [3] делить нужно всё же именно до тех пор, пока не останется 0 (см. примеры в [8]). Хотя, разумеется, псоледний раз можно и не делить -- очевидно, на последнем шаге делимое совпадает с остатком.


 
Anatoly Podgoretsky ©   (2006-08-21 22:04) [10]

Делить, делить


 
Ketmar ©   (2006-08-21 22:06) [11]

"всё отнять и поделить!" (ц)

извиняюсь за оффтоп...


 
Zeqfreed ©   (2006-08-21 22:27) [12]

> [9] begin...end ©   (21.08.06 21:38)

Ну да, я имел в виду, что последний раз можно не делить. Никак что-то мой мозг не хочет принимать то, что 2/4 = 0 + 2 в остатке, хотя понять и объяснить я это могу :)



Страницы: 1 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
1-1154327198
KygECHuK
2006-07-31 10:26
2006.09.10
Проблема с иницилизацией переменных


6-1145945534
tigra
2006-04-25 10:12
2006.09.10
Добавить файл к письму


15-1154497914
Чапаев
2006-08-02 09:51
2006.09.10
бульбец титанику...


15-1155627978
umbra
2006-08-15 11:46
2006.09.10
вопрос про статическую библиотеку и С


2-1155730262
Evlahov
2006-08-16 16:11
2006.09.10
SQL-запрос