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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.80
Selle
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 15
#1

Битовые операции с FLOAT - C++

27.05.2011, 23:23. Просмотров 2140. Ответов 3
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    int  var = 0; // хочу float!!!!
    cout << "Input number: ";
    cin >> var;
    cout << "Decimal: " << var;
    cout << endl;
    cout << "Binary: " << endl;
    int binarr[32];
 
   for (int i = 31; i >= 0; i--)
         {
            int bit = ((var >> i)&1);
            binarr[i] = bit;
            cout << binarr[i];
         }
 
   cout << endl;
    return 0;
}
~
~
Как для флоат сделать?!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2011, 23:23     Битовые операции с FLOAT
Посмотрите здесь:

Битовые операции - C++
Задача. Я не понимаю что тут делать. Кто то что то понимает? Элементарное я понимаю сдвиги и прочее но это вообще:wall: Умоляю,...

Битовые операции - C++
Помогите, пожалуйста с заданием. Никак не могу понять, что да как... Составить две программы, первая из которых вводит составные...

Битовые операции - C++
Задание: Как я понимаю надо создать объект типа int, но как менять местами биты вообще не представляю, помогите пожалуйста.

Битовые операции - C++
Доброго времени суток! Помогите решить задачу на тему &quot;Битовые операции&quot;: Ввести четыре целых числа P, Q, N и M. Что больше P*(2^M)...

Битовые операции - C++
Вот такая вот лаба на С, уже как не думал ну не могу решить я ее. Прошу помочь, прикрепил полное задание с примером работы(в примере...

Битовые операции - C++
Здравствуйте! нужно решить задачу: в целом числе заменить младший бит старшего байта на 1 решается ли это битовыми сдвигами? и...

Битовые операции - C++
Ребят, нужен алгоритм, а желательно и код для реализации следующей функции: Есть скажем числа от 0 до 7, т.е. 8 (2^3) Теперь...

Битовые операции - C++
Приветствую! Изучаю C++, не могу освоить битовые операции (перемещение, исключающие или, инвертирование всякое). Просто не понимаю...

битовые операции - C++
как из 0001 0000 тоесть в dec '8' сделать 0000 0001 в dec '1'?

Битовые операции - C++
Здраствуйте, помогите, пожалуйста! Надо написать три функции, используя только битовые (для первых двух) и только битовые и...

Битовые операции - C++
#include&lt;iostream&gt; #include&lt;climits&gt; int main() { unsigned int a = UINT_MAX; unsigned short b = USHRT_MAX; std::cout &lt;&lt;...

Битовые операции - C++
Есть код signed int a = 10; a = !a; cout &lt;&lt; a; Выводит 0, объясните, почему??


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
27.05.2011, 23:37     Битовые операции с FLOAT #2
Selle, Битовые операторы применимы только для целечислинных типов.
Evg
Эксперт CАвтор FAQ
17462 / 5700 / 361
Регистрация: 30.03.2009
Сообщений: 15,636
Записей в блоге: 26
27.05.2011, 23:44     Битовые операции с FLOAT #3
Единственный способ распечатать биты плавающего представления - это побитно перегнать float в значение типа int и побитно распечатать. Например, можно сделать так:

C
1
2
float f = 123.45;
int var = *((int*)&f);
А дальше всё как у тебя, только вместо печати "Decimal" и var надо вставить "Float" и f

Такой способ (как и практически любой другой) подразумевает, что размер int'а совпадает с размером float'а.
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 30.04.2011
Сообщений: 1,658
28.05.2011, 00:43     Битовые операции с FLOAT #4
Можно обмануть компилятор:
C++
1
2
3
4
5
6
7
union Bits
{   float F;
     int I;
};
Bits A;
A.F = 1.0;
A.I = A.I & 0x80000000;
Не универсально, так как неявно использует одинаковые размеры float и int.
На 32-битном пентюхе - работает.
Можно еще так:
C++
1
2
3
4
union Bits
{   float F;
     char ch[sizeof(float)];
};
Yandex
Объявления
28.05.2011, 00:43     Битовые операции с FLOAT
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru