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

перевод десятичного вещественного в машинный код(двоичный код) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.82
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
12.12.2012, 13:33     перевод десятичного вещественного в машинный код(двоичный код) #1
пожалуйста , подскажите пожалуйста код C++ ,для перевода вещественного числа в машиное (двоичное представление,32 бит).
Без использования char ,string.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2012, 13:33     перевод десятичного вещественного в машинный код(двоичный код)
Посмотрите здесь:

C++ Перевод любого слова в двоичный код
Перевод чисел в двоичный код C++
C++ Перевод вещественного десятичного числа в любую СС
Перевод числа в двоичный код C++
C++ Перевод десятичного вещественного числа в новую систему счисления
Перевод в двоичный код C++
C++ Перевод файла в двоичный код
C++ Перевод double в двоичный код
C++ Перевод числа из десятичного вида в двоичный. Что неправильно в коде?
C++ Перевод массива десятичных чисел в двоичный код
C++ Перевод строки цифр произвольной длины во внутреннее двоичный код и обратно

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Runlikebunny
Сообщений: n/a
12.12.2012, 19:15     перевод десятичного вещественного в машинный код(двоичный код) #2
Привет, в итоге получилось нечто подобное. Сверялся, вроде работает верно.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
void perevod_deistvit_chisla(int*massiv, float number)  //0-знак, 1-9-экспонента, 10-31-мантисса
{
    float fracOfnumber=0;
    int sizeOfexp=0, intOfnumber=0, dubl_intOfnumber;
    int counter=0;
 
    if (number<0)
    {
        number=abs(number);
        massiv[0]=1;
    }
 
    fracOfnumber=number-floor(number);
 
    if (number>=1)
    {
        intOfnumber=floor(number);
        dubl_intOfnumber=floor(number);
        while (dubl_intOfnumber>1)
        {
            dubl_intOfnumber/=2;
            ++sizeOfexp;
        }
        for (int k=sizeOfexp; k>0; --k)
        {
            massiv[8+k]=intOfnumber%2;
            intOfnumber/=2;
        }
        while (fracOfnumber!=1 && 9+sizeOfexp+counter!=32)
        {
            fracOfnumber*=2;
            if (fracOfnumber<1)
                massiv[9+sizeOfexp+counter]=0;
            else
            {
                massiv[9+sizeOfexp+counter]=1;
                --fracOfnumber;
            }
            ++counter;
        }
        sizeOfexp+=127;
        counter=8;
        while (sizeOfexp>0)
        {
            massiv[counter]=sizeOfexp%2;
            sizeOfexp/=2;
            --counter;
        }
    }
    else
    {
        do
        {
            fracOfnumber*=2;
            ++sizeOfexp;
        }
        while (fracOfnumber<1);
        --fracOfnumber;
        counter=9;
        while (fracOfnumber!=1 && counter!=32)  
        {
            fracOfnumber*=2;
            if (fracOfnumber<1)
                massiv[counter]=0;
            else
            {
                massiv[counter]=1;
                --fracOfnumber;
            }
            ++counter;
        }
        sizeOfexp=127-sizeOfexp;
        counter=8;
        while (sizeOfexp>0)
        {
            massiv[counter]=sizeOfexp%2;
            sizeOfexp/=2;
            --counter;
        }
    }
}
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
12271 / 6958 / 782
Регистрация: 27.09.2012
Сообщений: 17,259
Записей в блоге: 2
Завершенные тесты: 1
12.12.2012, 19:21     перевод десятичного вещественного в машинный код(двоичный код) #3
Цитата Сообщение от Banddk Посмотреть сообщение
для перевода вещественного числа в машиное (двоичное представление,32 бит).
В машине оно уже лежит в бинарном виде
Banddk
37 / 37 / 1
Регистрация: 08.12.2012
Сообщений: 157
Записей в блоге: 1
13.12.2012, 17:53  [ТС]     перевод десятичного вещественного в машинный код(двоичный код) #4
Большое спасибо!!!))

Добавлено через 22 часа 28 минут
Runlikebunny,
Yandex
Объявления
13.12.2012, 17:53     перевод десятичного вещественного в машинный код(двоичный код)
Ответ Создать тему
Опции темы

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