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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Elaias
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 1
#1

Вывод числа в двоичном представлении - C++

28.09.2013, 13:46. Просмотров 1540. Ответов 2
Метки нет (Все метки)

Задача: представить число long double в двоичном коде. Использую для этого union, но на экран упорно выводится только половина числа. Почему??

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
union LongD
{
    long double l;
    char ld1[8];
};
 
void main(void)
{
    LongD y;
    printf("\nenter long double: ");
    scanf("%e",&y.l);
    printf("%d\n%d\n", sizeof(y.l), sizeof(y.ld1[0])); //проверка, здесь выводится 8 и 1
    for(int i=7; i>=0; i--)
    {
        for(int j=7; j>=0; j--)
            printf("%d", ((y.ld1[i]>>j)&1));
        printf("\n");
    }; //первые 4 восьмерки некорректны, вторые - корректны, начало числа
 
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2013, 13:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод числа в двоичном представлении (C++):

Вывести в двоичном представлении все натуральные числа от 1 до N - C++
Задача : вывести в двоичном представлении все натуральные числа от 1 до N. Вопрос : есть ли алгоритм для очень больших N? Сама тема работы...

Произвести в двоичном представлении числа обмен битов с заданными номерами - C++
Дано короткое целое неотрицательное число. Произвести в его двоичном представлении обмен битов с номерами 0 и 1, 2 и 3, 4 и 5 и т.д. ...

Подсчетать количество единичных разрядов на нечетных местах в двоичном представлении числа - C++
4. Записать программу для подсчета количества единичных разрядов на нечетных местах в двоичном представлении заданного целого числа (...

Определить в двоичном представлении числа максимальное количество расположенных рядом единиц - C++
Дано короткое целое неотрицательное число. Определить в его двоичном представлении максимальное количество расположенных рядом единиц.

Узнать количество битов, что равны нулю в двоичном представлении значения числа - C++
Написать програму в которой необходимо узнать количество битов что равны нулю в двоичном представлен ии значения А С++ Помогите

Определить, каких цифр больше в двоичном представлении натурального числа N-нулей и единиц - C++
Определить, каких цифр больше в двоичном представлении натурального числа N-нулей и единиц. Циклический алгоритм. Код не надо, только...

2
Tulosba
:)
Эксперт С++
4619 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
28.09.2013, 14:12 #2
В первом приближении смущает %e, почему не %lf?
0
-=ЮрА=-
Заблокирован
Автор FAQ
28.09.2013, 14:29 #3
Для начала следует точно выяснить размер типа long double кэп очевидность подсказывает что это sizeof(double) + sizeof(long) итого 12 байтов, но никак не 8-мь.
http://codepad.org/MgbJBY7D
https://ideone.com/4bWCKW
https://ideone.com/ogo9eV
http://codepad.org/fPLxqrhh
Далее совсем не ясно зачем в проекте объединение, просто чтобы было?
Ну и наконец где уверенность что scanf с параметром %е воспринимает лонг дабл?
http://cpp.com.ru/shildt_spr_po_c/13/scanf.html небольшая выжимка
...Использование же модификатора L означает, что полученное значение присвоится переменной типа long double.
Добавлено через 56 секунд

Не по теме:

Вобщем кроме сдвига и двоичной маски я ничего рационального в коде не увидел

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2013, 14:29
Привет! Вот еще темы с ответами:

В двоичном представлении заданного числа поменять местами указанные цифры его шестнадцатиричного представления - C++
В двоичном целом, беззнаковом и неотрицательном представлении числа a поменять местами первую наибольшую и наименьшую цифру его...

Определить, каких цифр больше в двоичном представлении натурального числа N – нулей или единиц - C++
Определить, каких цифр больше в двоичном представлении натурального числа N – нулей или единиц.

Найти числа < n, в двоичном представлении которых номера ненулевых разрядов образуют арифметическую прогрессию - C++
Перечислить все натуральные числа, не превосходящие заданного N, в двоичном представлении которых номера ненулевых разрядов образуют...

Строквой литерал в двоичном представлении - C++
Добрый день. В учебнике есть задание: составить пользовательский тип который может вместить значение факториала числа 1000 с абсолютной...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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