Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Перевод десятичного числа в двоичное - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ STL :: map http://www.cyberforum.ru/cpp-beginners/thread367289.html
Столкнулся с такой проблемой: Нужно вставить в отсортированную map-таблицу элемент. Использую: myMap.insert(myIterator,pair<type1, type2>(val1,val2) ); \\Итератор указывает на тот элемент, за...
C++ Идеальное хеширование Суть вопроса заключается вот в чем. В методичке по лабораторным рассказывается про идеальное хеширование. Идеальное хеширование Чаще всего хеширование используется из-за превосходной средней... http://www.cyberforum.ru/cpp-beginners/thread367282.html
C++ Дано 10 чисел, вводимых с клавиатуры. найти два крупнейших числа и их номера
есть 10 чисел вводимых с клавиатуры. найти два крупнейших числа и их номера. int poz1, poz2, max1,max2;// using namespace std; cout<<"vvedit 10 chusel: \n"; max1=max2=0; cin >> b; ...
Ряд Тейлора. Нужна помощь C++
Добрый день всем. Возникла такая проблема. Есть ряд An= (x в степени 2n+1)/(2n+1) Нужно ввести x нач. и x кон., шаг и точность. Вывести на экран таблицу значений, аргумент и кол-во слагаемых в...
C++ Подключение к базе данных Access в VS 2010 Premium http://www.cyberforum.ru/cpp-beginners/thread367260.html
Доброго времени суток! в VS 2010 Premium не получается выбрать источник данных (хочу подключиться к базе данных Access, чтобы использовать данные таблиц в элементах экранных форм, например, в...
C++ Как подключить cpp файл к проекту? есть cpp файл date где описаны класс и его методы подключаю к main с помощью #include "date.cpp" выдает следующие ошибки: Ошибка 1 error LNK2005: "public: void __thiscall Date::Read(void)"... подробнее

Показать сообщение отдельно
tig1818c
2 / 2 / 0
Регистрация: 31.07.2010
Сообщений: 18
17.10.2011, 22:31
Насчет использования itoa: если я правильно понял, то просителю требуется не преобразование целого в символьный вид, а именно побитовая раскладка целого в массив, индексы которого соответствуют номеру бита исходного целого. itoa для этого не годится. Можно, конечно, использовать последовательное деление. Но, напомню, алгоритм деления в любом процессоре - вещь весьма сложная. Так зачем зазря есть ресурс? Можно ведь и гланды через ж... удалять, но надо ли?
На мой взгляд для данного случая целесообразно использовать именно побитовый сдвиг либо исходного целого вправо и проверять всегда младший (нулевой) бит, либо шкалу влево,
т.е. для вышеописанных примеров это будет:
1 вариант b[i] = (a>>i & 0x0001) > 0;
2 вариант b[i] = (a & 0x0001<<i) > 0;
Результат в b[i] будет либо TRUE (т.е. 1) если соотв. бит a стоит в 1, либо 0 если это не так.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru