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

Объединения, поля битов, перечисления - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
06.04.2011, 19:17     Объединения, поля битов, перечисления #1
всем доброго времени суток есть у меня задача затрудняюсь сделать сам вот само задание Перевести целое положительное двухбайтное число из десятичной в шестнадцатеричную систему счисления: использую эти самые поля битов я сейчас буду писать если кто может помочь или подсказать пишите буду благодарен.

Добавлено через 5 минут
так ну поля битов я кажется понял подскажиет ка модно реализовать данные перевод

Добавлено через 35 минут
люди подскажите как с ними работать а то читаю не оч понимаю эти поля битов

Добавлено через 1 час 51 минуту
Я её написал работает кажется правильно но я писал её чисто на угад и был в шоке что она заработает кто может объяснить напишите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <math.h>
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <time.h>
int main()
     {
   union TUI
   {
         struct   {  unsigned n1:4;
                     unsigned n2:4;
                    }   num16;
       short int ch;
   }    N;
             cin>>N.ch;
             cout<<hex<<N.num16.n2<<N.num16.n1;
             getch();
 
 return 0;    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2011, 19:17     Объединения, поля битов, перечисления
Посмотрите здесь:

Задание на перечисления C++
Cтруктуры. Перечисления. Объединения C++
C++ Перечисления..
C++ Поля битов
Перечисления C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
06.04.2011, 21:52     Объединения, поля битов, перечисления #2
вот то же самое почти
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
 
union{
    unsigned short num;
    struct{
        unsigned u0:4;
        unsigned u1:4;
        unsigned u2:4;
        unsigned u3:4;
    }strObj;
}uniObj;
 
int main(){
    scanf("%d", &uniObj.num);
    printf("0x%x%x%x%x", uniObj.strObj.u3, uniObj.strObj.u2, uniObj.strObj.u1, uniObj.strObj.u0);
    return 0;
}
A555
51 / 51 / 2
Регистрация: 04.04.2011
Сообщений: 209
06.04.2011, 21:54  [ТС]     Объединения, поля битов, перечисления #3
здесь как я понимаю можно большие числа переводить так? и ещё вопрос такой у нас 4 ячейки по 4 бита значит мы можем число в 16 бит записывать?
igorrr37
 Аватар для igorrr37
1594 / 1222 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
06.04.2011, 22:03     Объединения, поля битов, перечисления #4
здесь максимальное переводит 65535. Да unsigned short как раз 16 бит(на моём компиляторе)
Yandex
Объявления
06.04.2011, 22:03     Объединения, поля битов, перечисления
Ответ Создать тему
Опции темы

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