Как получить значение числа inf?
Учусь в университете на первом курсе, и преподаватель дал задание - выяснить число, коим является "inf". Тоесть, вот сам код:
#include <iostream>
#define INFINITY
using namespace std;
void main() {
setlocale(LC_ALL, "ru");
double z = 5;
z /= 0;
cout << z ;
}
В консоль выводится "inf"
Нужно получить это число, коим является "inf"
Ответы (2 шт):
Автор решения: MBo
→ Ссылка
Посмотрите описание форматов хранения чисел с плавающей точкой.
Вот для float, остальное сами
7f80 0000 = infinity
ff80 0000 = −infinity
Автор решения: xmikex
→ Ссылка
Можете попробовать что-то подобное, только в правильности порядка выводимого числа не уверен. Оно просто выводит значения байтов с конца.
#include <iostream>
#define INFINITY
using namespace std;
int main() {
double z = 5;
z /= 0;
cout<<z<<endl;
unsigned char *test;
test =(unsigned char*) &z;
int max_adr=sizeof(double);
for(int i=max_adr-1;i>=0;i--)
{
cout <<hex<<(int)*(test+i) ;
}
cout<<endl;
}