Главная страница
    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.048 c
9-1134743587
Зм1й
2005-12-16 17:33
2006.09.10
Пересечения


3-1152077595
BanderLog
2006-07-05 09:33
2006.09.10
TIBScript + параметры


15-1155789612
KilkennyCat
2006-08-17 08:40
2006.09.10
Ужос.


2-1156248554
IceBeerg
2006-08-22 16:09
2006.09.10
Получение снимка клиентской части окна чужого приложения


2-1155842084
Denisich
2006-08-17 23:14
2006.09.10
Ошибка в rtl60.bpl





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский