|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
14.10.2013, 21:47 | #1 |
Пользователь
Регистрация: 29.09.2013
Сообщений: 53
|
Помогите пожалуйста(язык Си)
Мне нужно: Запросить с консоли целое число и проверить значение бита с указанным номером в этом числе. Номер бита 9. Результат такой проверки вывести на консоль. Для удобства разрешается запрашивать указанное число в восьмиричной или шестнадцатиричой системе счисления. При выполнении задания важно обратить внимание на грамотный выбор типа данных анализируемого числа.
у меня такой вод код: int x=32585; x=x>>9; x=x&1 printf((x==1)?"yes";"no"); во всяком случае преподаватель объяснял так, но так у мен яне получается, помогите мне, пожалуйста, и объясните, как это делается( |
14.10.2013, 22:18 | #2 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,309
|
После первого сдвига вправо, в младшем бите будет второй бит.
После девятого сдвига - десятый. Так что сдвигать надо на единицу меньше. Как-то так, ...
Как-то так, ...
|
14.10.2013, 22:30 | #3 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
А младший бит - 1-й или 0-й ?
|
14.10.2013, 23:36 | #4 |
Пользователь
Регистрация: 29.09.2013
Сообщений: 53
|
так, в общем-то я разобралась, получается вот такой код
НО(!) объясните почему в конце 2? int b; scanf ("%d", &b); printf ("%d", (b>>8)%2); |
15.10.2013, 01:08 | #5 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
%2 и &1 эквивалентны (в данном случае, по крайней мере).
%2 - проверка на четность, которая зависит от младшего бита: младший бит 0 - число четное - делится без остатка на 2 младший бит 1 - число нечетное - делится с остатком на 2
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
15.10.2013, 14:17 | #6 |
Пользователь
Регистрация: 29.09.2013
Сообщений: 53
|
Это я уже все поняла, спасибо)
Можете сказать, это правильно или нет? #include <stdio.h> void main () { int a, p=-100, q=100; scanf ("%d", &a); printf ("%d\n", p<a&& q>a); int b; scanf ("%d", &b); printf ("%d", (b>>8)%2); } |
15.10.2013, 16:34 | #7 |
Пользователь
Регистрация: 29.09.2013
Сообщений: 53
|
Я со всем разобралась, помощь больше не требуется, всем спасибо
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подскажите пожалуйста язык программирования типа bat. | Linked007 | Помощь студентам | 3 | 26.03.2010 21:11 |
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно | Сергей Человек | Фриланс | 3 | 06.07.2009 19:30 |
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! | VisTBacK | Помощь студентам | 6 | 19.09.2008 13:44 |