![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
andrexus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 22.12.2005 Репутация: нет Всего: нет |
Допустим есть некоторое число, представленное объектом BitArray. Каким образом можно получить десятичное представление этого числа? Например тип byte. Затем необходимо провести обратную операцию: преобразовать байт в четырехбитовое число BitArray.
|
|||
|
||||
Freak_FB |
|
||||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: 1 Всего: 4 |
Во-первых - в байте не четыре, а восемь бит, но это не суть важно.
С переведением байта в набор бит проблем нет:
Байты будут расположены от младшего к старшему. Перевести набор бит в байт придётся вручную, поскольку готового решения нет. Мой вариант:
|
||||
|
|||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Freak_FB, проще через .CopyTo :
- слева направо : 1100 0000 - получится тройка. -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
Freak_FB |
|
|||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: 1 Всего: 4 |
Прогнав тест (около миллиона раз), оказалось, что мой вариант, хоть и сложнее в написании, быстрее в три раза.
![]() Ни на что не претендую... Это сообщение отредактировал(а) Freak_FB - 13.4.2008, 17:42 |
|||
|
||||
marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
Freak_FB, а как время мерили и какого порядка величины получались - минуты, секунды, миллисекунды?..
-------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
Freak_FB |
|
||||
![]() Ктулхувед ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 13.10.2006 Репутация: 1 Всего: 4 |
Код:
Вывод:
Это сообщение отредактировал(а) Freak_FB - 13.4.2008, 20:03 |
||||
|
|||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
-------------------- ![]() |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |