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

Определить, является ли данное число степенью двойки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Клетки http://www.cyberforum.ru/cpp-beginners/thread609558.html
Даны координаты двух полей шахматной доски (координаты клетки - это 2 числа от 1 до 8: номер столбца и номер строки). Одного ли цвета эти клетки на шахматной доске? Вывести в выходной файл сообщение YES, если они одного цвета, и NO иначе. Примеры input.txt output.txt 1 1 2 2 YES 1 1 1 4 NO
C++ Передать функции паметр-итератор есть функция void game::move(deque <Tunit>::iterator nunit) надо чтобы она получала указатель на один из элементов двойной очереди типа Tunit как правильно передавать параметр? вот так не подходит move(&(this->iUnit)) http://www.cyberforum.ru/cpp-beginners/thread609551.html
Подскажите знаковые целые заданной разрядности C++
Вот есть uint16_t. u означает unsigned? А как выглядит знаковый аналог? int16_t не помогло. А нет, он на signed в паре с int16_t ругался.
Вычислить уравнение на интервале C++
Помогите с задачей : Найти корень уравнения φ(х) = 0 на интервале (А, В) с точностью Е=10-4. Известно, что φ(х) на интервале (А, В) непрерывна и монотонна формула в картинке:
C++ Выравнивание структур http://www.cyberforum.ru/cpp-beginners/thread609473.html
typedef struct _WinBMPFileHeader { WORD FileType; DWORD FileSize; WORD Reserved1; WORD Reserved2; DWORD OffBits; } WINBITMAPFILEHEADER; sizeof =16, а на самом деле 14, лишние 2 байта воткнулись между FileType и FileSize из-за выравнивания на границу DWORD. Это файловый заголовок и...
C++ Матрица, найти и поменять местами минимальный и максимальный элемент Помогите с задачей: В квадратной матрице A найти среди элементов, расположенных ниже главной диагонали, минимальный элемент, а среди элементов выше побочной диагонали - максимальный. Поменять их местами. Вывести координаты этих элементов. подробнее

Показать сообщение отдельно
Xorboo
7 / 7 / 0
Регистрация: 16.12.2010
Сообщений: 23
20.06.2012, 06:11     Определить, является ли данное число степенью двойки
Цитата Сообщение от enk Посмотреть сообщение
Работает, если степень <= 30.
C++
1
2
is_exp_of_2(pow(2, 31)); // 0
is_exp_of_2(8589934591); // 1
А как вы собираетесь 2^31 записать в int? Для float естественно не работает, там представление числа совсем другое. По этой же причине 2^33-1 записывается в int неправильно и воспринимается как степень двойки.
 
Текущее время: 20:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru