Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
termyter
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 2
1

Как получить чётную маску числа в Си?

18.03.2019, 23:00. Просмотров 150. Ответов 6

У меня есть задание. Даны два символа ch1 и ch2. Получить целое число, последовательность нечетных битов которого представляет собой код ch1, а последовательность четных – код ch2.
Для его решения можно написать команду res = ch1 & mask1 | ch2 & mask2. Как получить маску?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2019, 23:00
Ответы с готовыми решениями:

DateTimePicker как разделить недели на чётную/не чётную
Есть DateTimePicker,в не нужно разделить недели в календаре на чётные и не чётные.Не подскажите как?

Как получить битовую маску вида 100.000
Как получить битовую маску вида 100...000? первая 1, все остальные нули. ПРобовал так, но...

Найти максимальную чётную цифру в записи числа x
Найти максимальную чётную цифру в записи числа x

Получить IP, шлюз, маску подсети
Здравствуйте! Помогите разобраться... Имеется форма, как сделать что бы при её запуске шел...

Получить маску для регулярного выражения
Доброго времени суток, уважаемые форумчане ! Только сегодня начал работать с регулярными...

6
Байт
Эксперт C
20467 / 12992 / 2733
Регистрация: 24.12.2010
Сообщений: 27,183
19.03.2019, 16:42 2
Цитата Сообщение от termyter Посмотреть сообщение
Как получить маску?
C
1
2
3
4
5
6
char mchet = 0;
for(i = 0; i < sizeof(char); i+=2)
 mchet |= (1<< i);
char mnechet = 0;
for(i = 1; i < sizeof(char); i+=2)
 mnechet |= (1<< i);
Можно эти циклы объединить в 1
C
1
2
3
4
5
6
char mchet = 0б ьтусруе=0;
for(i = 0; i < sizeof(char); i++)
 if (i%2)  mnechet |= (1<< i);
 el
 se mchet |= (1<< i);
}
2
Ygg
1602 / 384 / 155
Регистрация: 10.02.2018
Сообщений: 844
19.03.2019, 17:11 3
Можно в каком-нибудь продвинутом калькуляторе или на ручками на листочке
mask1 = 0x55;
mask2 = 0xAA;
1
Байт
Эксперт C
20467 / 12992 / 2733
Регистрация: 24.12.2010
Сообщений: 27,183
19.03.2019, 21:54 4
Цитата Сообщение от Ygg Посмотреть сообщение
в каком-нибудь продвинутом калькуляторе или на ручками на листочке
Для чара-то да, а вот с int32 - пальчики устанут. Да и зачем искать какой-то бабушкин калькулятор, если один уже есть под рукой - сам язык С(++).
0
prik
278 / 182 / 60
Регистрация: 01.03.2011
Сообщений: 494
20.03.2019, 11:33 5
Цитата Сообщение от Байт Посмотреть сообщение
for(i = 0; i < sizeof(char); i+=2)
какая-то странная конструкция...
1
Байт
Эксперт C
20467 / 12992 / 2733
Регистрация: 24.12.2010
Сообщений: 27,183
20.03.2019, 11:44 6
Цитата Сообщение от prik Посмотреть сообщение
какая-то странная конструкция...
Да, правда ваша. Следует читать
C
1
for(i = 0; i < 8*sizeof(char); i+=2)
Совсем забыл, что в байте 8 бит. Для меня это, конечно, непростительно.
Спасибо за бдительность...
0
prik
278 / 182 / 60
Регистрация: 01.03.2011
Сообщений: 494
20.03.2019, 12:11 7
Цитата Сообщение от Байт Посмотреть сообщение
Да, правда ваша. Следует читать
Строго говоря это лучше, но не идеально
Цитата Сообщение от Байт Посмотреть сообщение
Совсем забыл, что в байте 8 бит.
не всегда байт == char, а вот sizeof(char) == 1 всегда т.е чтобы никто не докопался
C
1
2
#include <limits.h>
for(i = 0; i < CHAR_BIT; i += 2)
1
20.03.2019, 12:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2019, 12:11

Получить маску подсети и основной шлюз
Мне нужно получить IPV4 адрес, маску подсети и основной шлюз, проверить прописаны ли они...

Получить маску, адреса подсетей, max число хостов
Есть задание &quot;Вводим класс сети и число подсетей, на которое её надо разбить, на выходе получаем...

Каждую чётную цифру числа заменить на 0, а каждую нечётную на 1
с клавиатуры вводится длинное целое число не менее 50 цифр. Каждую чётную цифру числа заменить на...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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