Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 4

Перевод вещественного числа из двоичной системы в десятичную c++

08.11.2014, 16:25. Показов 4824. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть число long double,например 15.375. я его перевёл в двоичную систему:010000000000001011110110000....0 0
Как перевести обратно,из двоичного вида к десятичному? c++
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.11.2014, 16:25
Ответы с готовыми решениями:

Перевод числа из двоичной системы в десятичную
Помогите написать программу для перевода из 2 в 10. Если число делится на 3, то вывести и результат деления

Перевод числа из двоичной системы счисления в десятичную
написать программу, которая переводит число из двоичной системы счисления в десятичную

Перевод числа из двоичной системы в десятичную или наоборот
Нужно написать программу переводящую числа из двоичной в десятеричную систему счисления и наоборот. (Я пока что новенький искал чё-т не...

8
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
08.11.2014, 16:39
Цитата Сообщение от StudentDenchik Посмотреть сообщение
я его перевёл в двоичную систему
Ну значит полдела сделано. Покажи код перевода в одну сторону, после этого можно будет помочь с переводом обратно.
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 4
08.11.2014, 18:23  [ТС]
Вот код
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
#include <iostream>
 
using namespace std;
 
union U
{
    char c[sizeof(long double)];
    long double ld;
    char ch;
}u1;
int bin[100],masForWork[80],k = 0;
void printBinaryLd(){
    
    u1.ld = 15.375;
    for (int i = 0; i < sizeof(long double); i++){
        for(int j = 0; j < sizeof(char)*8; j++){
 
            bin[k] = (u1.c[i] & 1);
            k++;
            u1.c[i] >>= 1;
        }
    }
    cout << endl;
    for(int i = 0; i < 80; i++){
        //cout << bin[80 - 1 - i];
        masForWork[i] = bin[80 - 1 - i];
        cout << masForWork[i];
    }
    cout << endl;
}
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
09.11.2014, 21:48
Давай немного упростим твой код для всеобщего понимания.
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
#include <iostream>
 
union LDC {
    long double     ld;
    unsigned char   uc[sizeof( ld )];
};
 
void print_bin( LDC & ldc )
{
    for ( unsigned i = 0; i < sizeof( ldc ); ++i ) {
        unsigned char c = ldc.uc[i];
        for ( int j = 0; j < 8; ++j ) {
            std::cout << (c & 1);
            c >>= 1;
        }
    }
    std::cout << std::endl;
}
 
void print_double()
{
    // ...
}
 
int main()
{
    LDC ldc;
    ldc.ld = 15.375;
    print_bin( ldc );
}
Покажи как пытался и что не получилось.
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 4
09.11.2014, 22:33  [ТС]
дело в том,что я знаю только обычный путь преобразования двоичного кода в десятичный...например 1*2^1+0*2^0+1*2^(-1)...
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
10.11.2014, 10:00
А union ты для чего использовал?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
10.11.2014, 10:35
Цитата Сообщение от castaway Посмотреть сообщение
А union ты для чего использовал?
Без union'а можно обойтись, использовав reinterpret_cast.
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
10.11.2014, 10:52
Цитата Сообщение от Tulosba Посмотреть сообщение
Без union'а можно обойтись, использовав reinterpret_cast.
Можно. Мне просто интересно как он использовал union, не понимая как он работает. И что ему мешает просто записать значения в массив unsigned char и получить long double.
0
0 / 0 / 0
Регистрация: 08.11.2014
Сообщений: 4
10.11.2014, 11:11  [ТС]
А union ты для чего использовал?
Мне просто интересно как он использовал union, не понимая как он работает. И что ему мешает просто записать значения в массив unsigned char и получить long double.
Изначальное задание таково: вводим переменную типа long double или char и преобразуем её в двоичный вид. Далее: Выполнить зеркальную перестановку в группе рядом стоящих разрядов, количество которых и номер старшего разряда в группе задаются с клавиатуры. Это я всё сделал,но никак не получается преобразовать двоичный вид к десятичному. Делать через объединение - это так сказал нам препод
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2014, 11:11
Помогаю со студенческими работами здесь

Перевод числа из двоичной системы в десятичную или наоборот
Помогите написать прогу которая переводчит число из двоичной системы в десятичную или наоборот из десятичной в двоичную... Заранее...

Перевод целого (дробного) числа из двоичной системы счисления в десятичную
Здравствуйте. Написали программу в С++, но считает не все значения. помогите найти ошибку. #include &lt;stdio.h&gt; #include...

Перевод из двоичной системы в десятичную
Перевод из двоичной системы в десятичную, помогти прошу надо на турбо с++

Перевод из двоичной системы счисления в десятичную
Помогите пожалуйста перевести число из 2-ой сс в 10 сс. Буду очень благодарен:)

Перевод из двоичной системы счисления в десятичную
Я создал программу, но вот она выдает размерность введенного массива, вместо десятичного числа. Ошибки я найти не могу. Вот сам код: ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru