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

Получить бит числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести полное имя программы, под которым она была запущена. http://www.cyberforum.ru/cpp-beginners/thread208621.html
Здравствуйте! Пожалуйста, помогите с написанием вот такой программы: Вывести полное имя программы, под которым она была запущена. Вести подробный лог запуска программы по времени.
C++ Калькулятор Строковый калькулятор методом обратной польской нотации, со скобками. Есть у кого нить код? Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread208616.html
Работа с текстовыми файлами C++
Есть текстовый файл в котором существует последовательность чисел. Нужно создать текстовый файл содержащий все числа в обратном порядке. Вот код который копирует посимвольно из одного в др. Как теперь что бы символы копировались в обратном порядке? Кроме массива у меня родилась идея что бы после каждого скопированного символа каретка возвращалась в начало текста и таким образом всё перевернётся....
C++ Подсчитать количество банкнот
Добрый день! Помогите, пожалуйста, советом. Нужно, чтобы программа подсчитывала количество и номиналы банкнот в соответствии с суммой, которую вводит клиент. Тут проблем нет, #include <iostream> using namespace std; void main() { const int n1=500, n2=200, n3=100, n4=50, n5=20, n6=10, n7=5, n8=2; int Summa, b500, b200, b100, b50, b20, b10, b5, b2; cout<<"Enter your summ:\n";cin>>Summa;...
C++ Определить месяц и число http://www.cyberforum.ru/cpp-beginners/thread208595.html
Определить месяц и число в високосном году по заданному дню. Хотел так: 256й день это 256-31=225-29=196-31=165-30=135-31=104-30=74-31=43-31=12 1 2 3 4 5 6 7 8й месяц 256й день это 12е августа if(day<32) {month=1; goto print;}
C++ Алгоритм Дейкстра Помогите, люди добрые, пожалуйста с реализацией алгоритма Дейкстра, мож где есть хорошее объяснение али код какой, причем надо реализовать его с использованием связных списков и очереди с приоритетом.. подробнее

Показать сообщение отдельно
illgocrazy
Сообщений: n/a
11.12.2010, 22:06     Получить бит числа
Работает действительно быстрее. Но неправильно. Выводит как раз биты приведенного к целому числа.
А я привожу не само double к unsigned, а указатель на double к указателю на unsigned, поэтому получаю нужные числа.
C++
1
2
double a=7.8;
printf("%d\n", getBit(&a, 2));
Результат: 0.

Добавлено через 56 минут
Всё получилось и работает в 7 и более раз быстрее На всякий случай правильное решение:

C++
1
#define GETBIT(x,pos)   ( ((x) & ( 0x1 << (pos) )) !=0 )
C++
1
2
3
4
5
double a=7.8;
for (int i=31; i>=0;i--)
printf("%d", GETBIT(*(((unsigned int*)&a)+1), i));
for (int i=63; i>31;i--)
printf("%d", GETBIT(*(unsigned int*)&a, i));
Получаю результат, как здесь http://www.binaryconvert.com/result_...imal=055046056
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru