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

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

Войти
Регистрация
Восстановить пароль
 
 
Klafe
1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 101
#1

Как получить битики float - C++

02.02.2014, 19:32. Просмотров 669. Ответов 21
Метки нет (Все метки)

Здравствуйте!

Кто-нибудь знает как получить битики у float?

C++
1
2
3
4
5
6
7
8
9
10
11
12
 
vector<bool>code;
int i2 = 0;
float one = 1;
float x = 0.36 ;
for (int i = 0; i < 3; i++){
int res = (x & one)>>i2; // с float не работает
if (res) code.push_back(1);
code.push_back(0);
one << 1;
i2++;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
 
vector<bool>code;
int one = 1;
float x = 0.36 ;
int * ptr = (int*) (&x);
for (int i = 0; i < 3; i++){
int res = (*ptr & one)>>i2; // тоже не получается
if (res) code.push_back(1);
code.push_back(0);
one << 1;
i2++;
}
Уже что только не пробовал!

Как это можно реализовать? Подскажите пожалуйста!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.02.2014, 19:32     Как получить битики float
Посмотрите здесь:

Получить в вектора, float - C++
Здравствуйте. Есть: Vector vecAngle; Как получить float *flAngle с него?

Из числа float получить два int-a: целую и дробную части - C++
Всем привет. Как можно из числа float получить два inta. приведу пример: есть 1,45 и 2,397. из первого нужно получить 1 и 45, из второго 2...

как победить Double? Float? - C++
C++ - так описать нельзя( ну и как мне ее сделать глобальной и есть ли ограничение на кол-во переменных типа ?????? у меня их...

Как работать с float векторами? - C++
Есть функция: void Vectors_Init( const float *VecStart, const float *VecEnd ) Как допустим сделать вычисления ? С VecEnd вычесть...

Как перевести из Float в String? - C++
Вот такой код: MemoryManager* MM = new MemoryManager(&quot;gta_sa.exe&quot;); DWORD offsets = { 0x14, 0x30 }; float ammo = 10; ...

Как правильно поделить float - C++
Всем доброго времени суток. Решаю задачу по подбору минимального количества необходимых номиналов копеек на определенную сумму. ...

как избавиться от округления float - C++
#include &lt;iostream&gt; using std:: cin; using std:: cout; using std:: endl; int main() { cout &lt;&lt; &quot;123.008 + 0.0008 = &quot; &lt;&lt;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Klafe
1 / 1 / 0
Регистрация: 13.10.2012
Сообщений: 101
03.02.2014, 10:49  [ТС]     Как получить битики float #21
Цитата Сообщение от Toshkarik Посмотреть сообщение
Вы, видать, не имеете представления о том, как хранятся числа с плавающей точкой в памяти.
Да, как-то не сталкивался!

Надо будет на досуге разобраться.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.02.2014, 12:52     Как получить битики float
Еще ссылки по теме:

Как именно округляются float и double? - C++
Вот имеется double l, функция sqrt из cmath и следующие формулы: sqrt(2-2*sqrt(1-l*l/4)) ...

как вывести float без экспоненты? - C++
void initialize() { for(int i=0; i&lt;TICK; i++) TickspeedRequired=BaseDuration/((i+13)-0.5); //TickspeedRequired - float //...

Как перевести из float -> char[](string)??? - C++
Как преобразовать дробь типа float 0.625 в строку (массив символов). Не используя библиотечные функции, (кроме iostrean.h и iomanip.h)

Как округлить число типо float? - C++
Как округлить число типо float до определенного числа знаков после запятой?

Почему точность Double такая же как у Float ? - C++
Вначале столкнулся с проблемой float: time=65536.0f; (можно и больше число указать) time+=0.003; Тут time не меняетя! Оно меняется,...


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

Или воспользуйтесь поиском по форуму:
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
03.02.2014, 12:52     Как получить битики float #22
Klafe, вот еще один метод. в этот раз он точно работает. я сверился с Википедией.
C++
1
2
    double b = 1.0000000000000002;
cout << (bitset<64>) *((ULONGLONG*)&b) << endl;
Yandex
Объявления
03.02.2014, 12:52     Как получить битики float
Ответ Создать тему
Опции темы

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