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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
parnisha666
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 3
#1

Битовые операции - C++

22.02.2012, 01:39. Просмотров 1252. Ответов 3
Метки нет (Все метки)

Вот такая вот лаба на С, уже как не думал ну не могу решить я ее. Прошу помочь, прикрепил полное задание с примером работы(в примере ошибка). Прошу решить 11 вариант:
Составить две программы, первая из которых вводит составные части структуры данных, приведенной в Вашем варианте индивидуального задания, и формирует из них заданную упакованную структуру. Вторая программа вводит упакованную структуру как 16-ричное число и выводит значения отдельных ее составных частей:
Вариант 11
Информация о состоянии устройства в системе ввода-вывода представляется в виде:
# разряда 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Значение C C C U U U U U E E E E E E 0 B
где:
CCC - номер канала
U..U - номер устройства в канале
E..E - код состояния
B - признак занятости устройства
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 01:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Битовые операции (C++):

Битовые операции, битовые поля. - C++
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций. Записать в unsigned int. Использовать...

Битовые операции и операции смещения языка С - C++
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает верно(переводит обычные числа в 16-ти ричные),а...

Битовые операции - C++
Собсно,если используется 4 байтовая переменная,то почему она представлена 16 битами(1010 0110 0010 0110),а не 32 битами?

Битовые операции - C++
Помогите, пожалуйста, написать код на C++! Дана последовательность из 8 байт: unsigned char n =...

Битовые операции - C++
#include<iostream> #include<climits> int main() { unsigned int a = UINT_MAX; unsigned short b = USHRT_MAX; std::cout <<...

Битовые операции - C++
Добрый день! Помогите пожалуйста написать программу. Дано короткое целое неотрицательное число(2 байта). Выполнить инверсию ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mimicria
return (true);
1957 / 1094 / 91
Регистрация: 19.04.2011
Сообщений: 2,345
22.02.2012, 10:50 #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
struct dev
{
 int C:3;
 int U:5;
 int E:6;
 int Z:1;
 int B:1;
};
 
union device
{
 dev str;
 short int all;
};
 
int main(int argc, char* argv[])
{
 device test;
//ввод
 test.str.C = 5;
 test.str.U = 10;
 test.str.E = 42;
 test.str.Z = 0;
 test.str.B = 1;
 
// вывод
 std::bitset<16> bit(test.all);
 std::cout << std::hex << test.all << "\t" << bit << std::endl;
 return 0;
}
1
parnisha666
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 3
22.02.2012, 12:43  [ТС] #3
Все хорошо но нужен код на С, а не С++
0
Luke
39 / 39 / 1
Регистрация: 21.02.2012
Сообщений: 95
22.02.2012, 12:58 #4
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 <stdlib.h>
#include <stdio.h>
 
struct dev
{
 int C:3;
 int U:5;
 int E:6;
 int Z:1;
 int B:1;
};
 
union device
{
 dev str;
 short int all;
};
 
int main(int argc, char* argv[])
{
 device test;
//ввод
 test.str.C = 5;
 test.str.U = 10;
 test.str.E = 42;
 test.str.Z = 0;
 test.str.B = 1;
 
// вывод
 char buf [50];
 itoa(test.all,buf,2);
 
printf("%x \t %s \n",test.all,buf);
 return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2012, 12:58
Привет! Вот еще темы с ответами:

Битовые операции - C++
Доброго времени суток . Вот такая вот задачка : в числе А установить в единицу n битов влево от позиции p, заменить ими m битов числа В,...

Битовые операции - C++
Ребят, помогите кто чем может. Дана строка unsigned char. Необходимо через каждых 4 бита вставить 1, при этом ничего не затерев. ...

Битовые операции - C++
Имеется число int x = 85; // 1010101 - двоичное представление // 6543210 - номера битов // нужно взять // 0,2,3,4 биты и сложить...

Битовые операции - C++
Есть число в двоичной системе, например &quot;01000001&quot;, рядом с единицами надо заменить нули на единички! то есть должно получится например...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.02.2012, 12:58
Ответ Создать тему
Опции темы

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