Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
Тупак   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.051 c
2-1156334632
Lera
2006-08-23 16:03
2006.09.10
Динамичиские массивы


2-1155815298
fast2
2006-08-17 15:48
2006.09.10
Что неправильно в условии:


15-1155370126
Loginov Dmitry
2006-08-12 12:08
2006.09.10
Тест для всех!


2-1156344036
serko
2006-08-23 18:40
2006.09.10
Картинки


15-1155703959
MASTAFA
2006-08-16 08:52
2006.09.10
Скомпилированный файл справки. Как сделать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский