Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742

Операция с битами, интерпретация

19.10.2014, 19:50. Показов 1274. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В массиве есть 2 бита, в зависимости от того какие эти два бита (00, 01, 10, 11) будет соответствующее решение. Для управления хочу взять Switch с 4 case под каждый вариант, однако Switch не оперирует с массивом и эти два бита нужно загнать в переменную в их первоначальном виде, как это сделать?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2014, 19:50
Ответы с готовыми решениями:

Интерпретация js
Есть сайт, который возвращает страницу в виде ява скрипта для обфускации через eval. В браузере отображение то полноценное, а вот курл...

Интерпретация в Java
В википедии, в статью про JVM, говорится: Я не очень силен в этой теме. Как JVM может исполнять инструкции не переводя их при этом...

Интерпретация С# в дельфи
Ребят, есть нужный мне код на C++, но я пишу на дельфи, скажите чем эти 2 языка отличаются, и вообще сложно ли интерпретировать с языка на...

7
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
19.10.2014, 19:59
Зачем тебе массив? Используй число int = 0, 1, 2, 3. Те же биты.
0
 Аватар для Pancir
59 / 46 / 11
Регистрация: 16.09.2014
Сообщений: 124
19.10.2014, 20:02
я думаю вам должен помочь reinterpret_cast
пример:

C++
1
2
3
4
5
char variable[2]
short *result= reinterpret_cast<short *>(variable);
switch(*result){
   case ...
}
0
 Аватар для Satansoft
20 / 16 / 7
Регистрация: 27.02.2012
Сообщений: 742
19.10.2014, 20:10  [ТС]
nmcf, затем, что это промежуточные вычисления, а данные разбиты на 8 массивов по 6 бит, где мне надо цапнуть 1 и последний элементы...

Добавлено через 7 минут
Цитата Сообщение от Pancir Посмотреть сообщение
я думаю вам должен помочь reinterpret_cast
у меня с типами всё в порядке, чем именно он может помочь? Я даже загнал эти биты в переменные, обратившись к ячейкам массива, теперь а=1, b=1, надо с=11. Возможно здесь помогла бы какая-либо интерпретация, но вся фишка в битах 01 и 10, их на что не умножай, одно и то же будет.. может с помощью логики как-то.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
19.10.2014, 20:13
Лучший ответ Сообщение было отмечено Satansoft как решение

Решение

У тебя не биты, а целые со значение 0 или 1. Ну преобразуй их в число m[0] + m[5] *2, если 0-й младший, а пятый старший.
0
 Аватар для Pancir
59 / 46 / 11
Регистрация: 16.09.2014
Сообщений: 124
19.10.2014, 20:35
Минимальный размер типа 1 байт = 8 бит = char.
Если у вас массив бит, как вы его называете, то скорее всего это массив char-ов (ну ли bool -ов, без разницы).
Вам нужно это дело подружить со switch, есть вариант на основе вашего массива байтов собрать побитово какой-нибудь тип, судя по тому что у вас 2 "бита" то тип даже не short как я выше написал а char достаточно. К сожалению я сам плоховато работаю с битами, что-бы точно подсказать как собрать какой то тип из этого всего, точнее так: если бы это нужно было мне я бы пошел бы в очередной раз читать про побитовые операции )
Вариант 2 ре-интерпретировать значения как я написал выше. Для 2-х байтов это short, и сверять его в свиче.
Оба предложенных мной варианта должны работать, только немного по разному, и значения в case свитчей тоже будут разные.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
19.10.2014, 20:39
Как ему поможет reinterpret_cast, если он говорит, что массив из 6 элементов и надо первый и последний взять? Они же не в смежных байтах.
0
 Аватар для Pancir
59 / 46 / 11
Регистрация: 16.09.2014
Сообщений: 124
19.10.2014, 20:46
nmcf да, точно, я что-то не заметил ту строчку автора.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.10.2014, 20:46
Помогаю со студенческими работами здесь

Интерпретация данных
Добрый день, ребят помогите пожалуйста (4 день пишу работу и уже не получается про интерпретировать две полученные таблицы), проверяю...

Интерпретация выражений на си
Нужна помощь! Пусть имеется такое описание: struct { int x; char *y; } *p; Интерпретируйте следующие выражения в...

Интерпретация в браузер
Доброго времени суток дорогие программисты! У меня думаю, не совсем стандартный вопрос. Как интерпретировать pascal/delphi Код в браузер,...

Интерпретация спектра
Доброго времени суток, Уважаемые формучане! Есть прибор, который измеряет шероховатость поверхности. Прибор, если грубо, представляет...

Интерпретация sudo bash на c++
Собственно вопрос в том , как будет выглядеть эта запись на c++ sudo sh -c 'echo &quot;lm96163 0x4c&quot; &gt; /etc/apt/sources' Спасибо за...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru