0 / 0 / 1
Регистрация: 01.07.2013
Сообщений: 23
1

Побитово скопировать содержимое переменной

09.11.2016, 16:56. Показов 2232. Ответов 2
Метки нет (Все метки)

Здравствуйте, есть задача:

Кликните здесь для просмотра всего текста
На языке программирования C++ написать программу для визуализации
представления типов данных.
Требования:
Для любого, введённого пользователем числа, необходимо вывести на экран
его представление для следующих типов данных:
- int
- float
- double
Для каждого из вышеперечисленных типов необходимо вывести два варианта
представления:
- Big-Endian
- Little-Endian


С вещественными типами данных беда. Битовые операции с ними не работают. В связи с этим встал вопрос, как побитово скопировать содержимое переменной типа float в int?

Рабочий участок кода, что я уже написал ниже:
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
#include <cstdio>
 
int main(int argc, char *argh[]) {
    printf("Input your number: ");
    double origin;
    scanf("%lf", &origin);
    int integer = origin;
    short int integerArray[32];
    // Побитово читаем
    for (int i = 0; i < 32; i++)
    {
        if (integer & 1) integerArray[i] = 1;
        else integerArray[i] = 0;
        integer = integer >> 1;
    }
    short int tempArray[32];
    //Раскладываем биты в правильном порядке (прошу прощения за такие адовые названия переменных)
    short int firstcounter4integer = 31;
    short int secondcounter4integer = 0;
    while (firstcounter4integer > -1)
    {
        tempArray[firstcounter4integer] = integerArray[secondcounter4integer];
        --firstcounter4integer;
        ++secondcounter4integer;
    }
    //Выводим в консоль
    printf("Big-endian: ");
    for (int i=0;i<32;++i) printf("%d", tempArray[i]);
    printf("\nLittle-endian: ");
    for (int i = 24; i < 32; ++i) printf("%d", tempArray[i]);
    for (int i = 16; i < 24; ++i) printf("%d", tempArray[i]);
    for (int i = 8; i < 16; ++i) printf("%d", tempArray[i]);
    for (int i = 0; i < 8; ++i) printf("%d", tempArray[i]);
        return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2016, 16:56
Ответы с готовыми решениями:

Как побитово скопировать uint32_t в float, минуя при этом выделения uint32_t в оперативную память
Всем привет, недавно заинтересовал такой вопрос ниже. Как ПОБИТОВО скопировать uint32_t в float,...

Содержимое файла скопировать в char массив
Доброго всем здравия, туплю с простым заданием. Самое обидное, что раньше я это делал без проблем....

Как скопировать содержимое строки char?
У меня в структуре есть член структуры char* text; и const temp char* = CharToDouble(10) Что-то у...

Скопировать содержимое одного файла в другой
Прошу помочь мне разобраться в составлении данной программы. Условие:Скопировать содержимое...

2
1481 / 1198 / 819
Регистрация: 29.02.2016
Сообщений: 3,579
09.11.2016, 17:47 2
C++
1
2
    float f = 5;
    unsigned char *c = reinterpret_cast<unsigned char *>(&f);
http://stackoverflow.com/quest... nt-numbers
1
0 / 0 / 1
Регистрация: 01.07.2013
Сообщений: 23
09.11.2016, 18:34  [ТС] 3
Тему можно закрыть
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2016, 18:34
Помогаю со студенческими работами здесь

Содержимое одномерного массива скопировать последовательно в двумерный массив
Из одномерного массива перенести в двумерный, 1 7 13 19 25 2 8 14 20 26 3 9 15 21 27 ...

Скопировать содержимое одного файла в любое место в другом файле
Мне надо скопировать содержимое одного файла в любое место в другом файле. Пример: Файл А: ...

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

Записать в файл строку. Скопировать в буфер последние два слова. Вывести содержимое буфера на экран
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main(){ ofstream...

Скопировать содержимое текстового файла, удалив в каждой строке слово номер N+1, если в слове N есть 4
Здравствуйте. Помогите, пожалуйста, в написании программы Скопировать содержимое текстового...

Содержимое переменной класса
Всем привет. Есть простой класс, который наполняется определенными данными пользователя. class...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru