![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
ErManDir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 11.12.2003 Репутация: нет Всего: нет |
Извиняюсь за глупый вопрос, но что-то инет мне на этот раз не помог, а в хелпе я что-то нифига не разобрался.
В общем задача такая: Мне надо составить двоичное число из трех знаков, типа 000 или 010, потом его сконвертнуть в десятиричное и сохранить в базе, ну потом, естественно опять из 10-ти в 2-х и разобрать на биты. Как это сделать? Наверняка двоичную переменную прийдется таскать через string, хотя не уверен. В общем, помогите плиз! |
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
http://forum.vingrad.ru/index.php?showtopic=17463
http://forum.vingrad.ru/index.php?showtopi...59&view=all Добавлено @ 14:49 ErManDir Внизу страницы ещё ссылки. |
|||
|
||||
ErManDir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 11.12.2003 Репутация: нет Всего: нет |
Спасибо за ссылки, но ответьте пожалуйста на вопрос: А встроенных инструментов разве не существует?
|
|||
|
||||
Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Какие ещё инструменты? Есть calc.exe ![]() Есть стандартный класс TBits. Можно заморочиться и написать наследника TByte с нужными функциями. |
|||
|
||||
ErManDir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 11.12.2003 Репутация: нет Всего: нет |
Да про TBits я как раз и не понял. Хотя он вроде для того и сушествует.
И насчет ссылок. Вторая ссылка утверждает, что: 100101 нумеруем его с хвоста начиная с нуля т.е. 5 4 3 2 1 0 |_|_|_|_|_| 1 0 0 1 0 1 теперь каждую двоичную цифру умножаем на 2 возводим в степень = нумерации и складываем т.е. (2*1)^5+(2*0)^4+(2*0)^3+(2*1)^2+(2*0)^1+(2*1)^0= 32+0+0+4+0+1=37 Но это неправильно... Правильно будет: 1*(2^5)+0*(2^4)+0*(2^3)+1*(2^2)+0*(2^1)+1*(2^0)=32+0+0+4+0+1=37 любое число в степени ноль всегда 1. Так что двоичное число 000, будет как 0+0+1=1, а это не правильно. |
|||
|
||||
Yanis |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Если нужно именно для числе не больше 7, то можно так:
Добавлено @ 16:18
Это сообщение отредактировал(а) Yanis - 7.9.2006, 16:11 |
||||
|
|||||
ErManDir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 11.12.2003 Репутация: нет Всего: нет |
Спасибо за пример с TBits. Завтра посмотрю его повнимательнее.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |