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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Составить программу для вычисления значения rez в зависимости от поставленного условия http://www.cyberforum.ru/cpp-beginners/thread965321.html
Помогите пожалуйста решить проблему с разветвляющимися алгорифмами, у меня получается всегда идет одним путем какое бы число я не подставил, а другим нет. Вот условие: Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного...
C++ Исправте ошибку программе с ++ в 6 версии визуал студио Незнаю как исправить для 6 версии, помогите! #include <iostream.h> #include <conio.h> using namespace std; int main() { int min = 10000; int max = -10000; http://www.cyberforum.ru/cpp-beginners/thread965318.html
C++ По введенной успеваемости студента выдать размер его стипендии
По введенной успеваемости студента выдать размер его стипендии.
Задачка по циклам C++
При помощи цикла for изобразите на экране пирамиду из символов 'X'. Верхняя часть пирамиды должна выглядеть следующим образом: х ххх ххххх ххххххх ххххххххх Вся пирамида должна быть высотой не 5 линий, как изображено здесь, а 20 линий. Одним из способов ее построения может служить использова- ние двух вложенных циклов, из которых внутренний будет заниматься печатанием символов 'X' и...
C++ Ввести с клавиатуры трехзначное число и найти произведение первой и второй цифры. А также определить четность третей цифры http://www.cyberforum.ru/cpp-beginners/thread965310.html
Ввести с клавиатуры трехзначное число и найти произведение первой и второй цифры. А также определить четность третей цефры. как мне это сделать????
C++ все отрицательные элементы заменить их квадратами и сортировать по убиванию сделать как функция все отрицательные элементы заменить их квадратами и сортировать по убиванию сделать как функция . Спасибо за ранее!! int ikt (int m,const int n) { int tmp; for (int i = 0; i<n; ++i){ for (int j=(i+1); j<n; ++j) if (m<m) { tmp = m; m = m; подробнее

Показать сообщение отдельно
Sasha 93
2 / 2 / 0
Регистрация: 28.11.2012
Сообщений: 39
29.09.2013, 23:31     Битовые операции
Составить две программы, первая из которых вводит составные части структуры данных, и формирует из них заданную упакованную структуру. Вторая программа вводит упакованную структуру как 16-ричной число и выводит значения отдельных ее составных частей.
Слово состояния канала в вычислительной системе представляется в виде:
розряду 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Значення N N N N E C C C C C C C C C 0 P


де:
N..N - Номер канала
E - Признак ошибки
C..C - код причини преривания
P - признак завершения программы в канале




Вот у меня есть пример похожей задачи, но я не могу его подогнать к своему.=(

Слово состояния устройства в системе ввода-вывода представляется в виде:
разряда 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Значение C C C C C 0 F B N N N N N N N N
*
где
C.. C - код состояния
F - признак ошибки (1/0)
B - признак занятости (0/1)
N.. N - количество байт, переданных в последний операции

Программа ввода:
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
#include <stdio.h>
int main(void) {
 char c; /* код состояния */
 char f; /* признак ошибки */
 char b; /* признак занятости */
 unsigned char n; /* количество байт */
 unsigned int UnitStateWord; /* слово состояния */
  /* ввод составных частей */
  printf("Введите код состояния (0 - 31) >");
  scanf("%d",&c);
  printf("Введите признак ошибки (0 / 1) >");
  scanf("%d",&f);
  printf("Введите признак занятости (0 / 1) >");
  scanf("%d",&b);
  printf("Введите количество переданных байт (0 - 255) >");
  scanf("%d",&n);
  /* формирование упакованного кода */
  UnitStateWord=((unsigned int)c&0x1F)<<11;
  UnitStateWord|=((unsigned int)f&1)<<9;
  UnitStateWord|=((unsigned int)b&1)<<8;
  UnitStateWord|=n&0xFF;
  /* вывод результата */
  printf("\nСлово состояния устройства = %04x\n",
     UnitStateWord);
  return 0;
}
Программа вывода:
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
#include <stdio.h>
int main(void) {
 char c; /* код состояния */
 char f; /* признак ошибки */
 char b; /* признак занятости */
 unsigned char n; /* количество байт */
 unsigned int UnitStateWord; /* слово состояния */
  /* ввод слова состояния устройства */
  printf("Введите cлово состояния устройства \n");
  printf("(16-ричное число от 0 до 0xFFFF) >");
  scanf("%x",&UnitStateWord);
  /* Выделение составных частей */
  c=(UnitStateWord>>11)&0x1F;
  f=(UnitStateWord>>9)&1;
  b=(UnitStateWord>>8)&1;
  n=UnitStateWord&0xFF;
  /* вывод результатов */
  putchar('\n');
  printf("Код состояния                  = %d\n",c);
  printf("Признак ошибки             = %d\n",f);
  printf("Признак занятости          = %d\n",b);
  printf("Количество переданных байт = %d\n",n);
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru