![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| LectorSP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 13.4.2006 Где: г. Минск Репутация: нет Всего: 2 |
Такой вопрос.... есть число которое являеться суммой возведения двойки в разные степени...допустим 2^0 + 2^1 + 2^3 = 11. Может быть есть какие нибуть встроенный классы, методы, с помощью которых можно быстро получить степени двоек, которые суммировались для получения известного чилса....или придеться писать свою функцию...сначала перевисти данное число в двоичную систему 11 = 1011 , а потом уже по этому числу смотреть какие степени не умножаються на 0. 11 = 1011 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0. Получаются степени двойки 3.1.0 .... и если да, то как из одной системы перевести в другую изпользуя может быть какие нибуть встроенные функции в .net ...или предеться делить и смотреть остаток....
Надеюсь понятно чего я хочу : )) кто знает, подскажите пожалуйсти или укажите где искать : )) заранее спасибо.! --------------------
Трудно жить на свете негритенку Пете, Бьет его по роже пионер Сережа! Никакими расовыми этническими и религиозными предрассудками я не страдаю!Я за DOT.NET......................ну и за мир во всем мире тоже! |
|||
|
||||
| HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 14 Всего: 42 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
То есть тебе нужна функция быстрого перевода в двоичную систему, что ли? А в какой форме тебе нужно получать результат (видимо, не строка)? И главное - для чего? где ПОТОМ и с какой целью будет использоваться результат?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| vretsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 29.10.2007 Репутация: нет Всего: нет |
про встоенные классы не знаю (да я пологаю не очень и нужны), но можно использовать побитовое "И"
так например int a=2; int b=7; int c=a & b; // c примет значение 2 // т.к. 7=2^0+2^1+2^2=1+2+4 int a=4; int b=7; int c=a & b; // c примет значение 4 // т.к. 7=2^0+2^1+2^2=1+2+4 int a=2; int b=8; int c=a & b; // c примет значение 0 т.е. если (A^N & B==A^N) вернуть N иначе вернуть 0 типа того.... код реализации думаю сами напишете |
|||
|
||||
| LectorSP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 13.4.2006 Где: г. Минск Репутация: нет Всего: 2 |
Мне не нужно число в двоичной системе , мне нужны Степени(0.1.2.3.4.5.6.7.8...) в которых находяться двойки при сложении для получения числа....зная только резултирующее число т.е число 11 это сумма двоек в каких степенях...это можно сделать но тогда придеться переводить данное число в двоичную систему, потом делать так -
1 = 1011 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0. => следовательно искомые степени (3, 1. 0) - то, что мне нужно : ))) --------------------
Трудно жить на свете негритенку Пете, Бьет его по роже пионер Сережа! Никакими расовыми этническими и религиозными предрассудками я не страдаю!Я за DOT.NET......................ну и за мир во всем мире тоже! |
|||
|
||||
| Ctrl |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 12.2.2008 Где: Tula Репутация: 6 Всего: 7 |
Вот пример, делающий то что надо (разложения числа на степени двойки)
|
|||
|
||||
| LectorSP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 13.4.2006 Где: г. Минск Репутация: нет Всего: 2 |
Спасибо огромное, то что нужно...очень интересно : ))
--------------------
Трудно жить на свете негритенку Пете, Бьет его по роже пионер Сережа! Никакими расовыми этническими и религиозными предрассудками я не страдаю!Я за DOT.NET......................ну и за мир во всем мире тоже! |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |