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

Побайтовый вывод значения типа double - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как задать размерность одномерного массива http://www.cyberforum.ru/cpp-beginners/thread20171.html
Подскажите, пожалуйста, как задать размерность одномерного массива, чтобы ее можно было менять в зависимости от длины вводимой строки? str-строка текста, вводится с клавиатуры LenS=strlen(str);...
C++ Что означает и делает оператор ">>=" Глупый вопрос, но тем не менее. Что означает и делает оператор ">>=". Может есть русское описание? http://www.cyberforum.ru/cpp-beginners/thread20162.html
Считать из файла и поменять местами максимальное и минимальное слово C++
помогите дописать задачу...нужно считать из файли и поменять местами максимальное и минимальное слово...я поменять не могу... вот мой код #include <iostream> #include<stdio.h> using namespace std;...
C++ Ссылки и ассемблерные вставки
Подскажите, пожалуйста, как внутри ассемблерной вставки на C++ снять адрес загрузки переменной, на которую ссылается ссылка. Заранее спасибо.
C++ Указатели в двумерном массиве http://www.cyberforum.ru/cpp-beginners/thread20136.html
Помогите пожайлуста!!! Как занулить главную диогональ, скока не пробовал, ни как не получается.... не могу найти ошибку :wall: Вот программа которую я написал: #include <stdio.h> #include...
C++ Литература для начинающих всех с НГ!))) посоветуйте что почитать человеку который с программированием на Вы а в частности по С++... подробнее

Показать сообщение отдельно
Del_Piero_10
Smart is the new Sexy
25 / 25 / 1
Регистрация: 29.12.2008
Сообщений: 109

Побайтовый вывод значения типа double - C++

03.01.2009, 14:40. Просмотров 4184. Ответов 12
Метки (Все метки)

Есть решение задачи побайтового вывода значения типа double на экран. Объясните плиз каким образом это происходит. В частности функция: show_bits() и что записывается в массив С.

Вот собственно код:

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
27
28
29
30
31
32
33
34
35
36
#include <iostream>
using namespace std;
 
union bits {
    bits(double n);
    void show_bits();
    double d;
    unsigned char c[sizeof (double)];
};
 
bits::bits(double n)
{
    d=n;
}
 
void bits::show_bits()
{
    int i,j;
 
    for ( j=sizeof (double) - 1; j>=0; j--) {
        cout << "Двоичное представление байта " << j << ":";
        for ( i=128; i; i>>=1)
            if (i & c[j]) cout << "1";
            else cout << "0";
            cout << "\n";
    }
}
 
int main()
{
    system("chcp 1251");
    bits ob(19.829);
    cout << ob.c;
    ob.show_bits();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru