С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 17
1

Битовые операции. Записать числа. с++

06.04.2018, 14:42. Показов 2686. Ответов 1

Author24 — интернет-сервис помощи студентам
Здравствуйте, есть массив из значений дискретных каналов.

int discretCh = 6; // всего 6 дискретных каналов

Значения хранятся в файле, я их считала в массив

int ChValue [6] = {000011}

Значения всегда будут либо 0 либо 1. Могут вообще быть только 0000000 либо 111111

Я должна дальше реализовать такое преобразование, пример ниже. Подскажите, пожалуйста, как называется действие а)
У меня могут быть {0,0,0,0,0,0} как поступать в этой ситуации?
и как записать последовательность чисел массива в целое число?

For a set of six status inputs (000011)

a) Write these status inputs as a binary number (110000).

b) Then pad the number out to a 16 bit number (0000 0000 0011 0000).

c) Translate this to a hexadecimal value (00 30).

d) The data is then stored in LSB/MSB format (30 00).

На выходе я должна записать 30 00 в два байта.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2018, 14:42
Ответы с готовыми решениями:

Определить знак числа, используя битовые операции
Помогите пожалуйста Определить знак числа, используя битовые операции

Изменить знак числа типа int на противоположный, используя битовые операции.
помогите

Как представлять двоичные числа в обратном и дополнительном коде, используя битовые операции?
#include <iostream> #include <string> #include <algorithm> using namespace std; int main()...

Используя битовые операции, реализовать функцию вывода десятичного числа в двоичном виде
Здравствуйте! Есть такая задача: Написать программу, в которой будет реализована функция вывода...

1
47 / 31 / 21
Регистрация: 04.04.2016
Сообщений: 209
06.04.2018, 15:14 2
Лучший ответ Сообщение было отмечено kytcenochka как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define _BV(x) (1 << x)
 
uint8_t value = 0;
 
// перевести все биты в число
for (int i = 0; i < sizeof(ChValue)/ChValue[0]; i++) {
    value |= _BV(ChValue[i];
}
 
// установить конкретный бит: 
    value |= _BV(3);
// установить несколько бит:
    value |= _BV(1) | _BV(4);
// сбросить конкретный бит:
    value &= ~_BV(5);
// сбросить несколько бит:
    value &= ~( _BV(1) | _BV(0) | _BV(5) );
 
// получить значение 6 бита:
    x = (value >> 6) & 1;
0
06.04.2018, 15:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.04.2018, 15:14
Помогаю со студенческими работами здесь

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

Битовые последовательности и битовые операции
Вычислить сумму по модулю 2 всех бит в позициях, номер которых кратен 2^k. (1, 2, 4, 8, 16, 32). ...

Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число
Даны числа x и y. Используя только битовые операции и операции арифметического сложения и...

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

Битовые операции
Доброго времени суток! Помогите решить задачу на тему &quot;Битовые операции&quot;: Ввести четыре целых...

Битовые операции
Задание: Как я понимаю надо создать объект типа int, но как менять местами биты вообще не...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru