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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
#1

Операция побитового сдвига - C++

14.02.2013, 20:48. Просмотров 656. Ответов 4
Метки нет (Все метки)

Задача состоит в том,что нужно введенное число (unsigned char) перевести в двоичную, а затем проверить биты полученного числа (тоесть, что находится в ячейке 0 или 1). Начало программы я написала
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
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
int c=0;
void dvoich(int x1)
{
    int i,b;
    for(i=0;x1>0;i++)
    {
        b=x1%2;
        x1=(x1-b)/2;
        c+=b*pow(10.,i);
    }
    printf("\n\n Dvoichnoe:%d ",c);
}
void main()
 
{
    unsigned char a;
    printf("\n Vvedite desiatichnoe chislo:");
    scanf("\n%c",&a);
    dvoich(a);
}
программа переводит число из 10 в 2 СС, а как дальше?Нужно воспользоваться побитовым сдвигом?Правильно ли будет записать с=с>>7, а дальше проверять переменную с?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2013, 20:48     Операция побитового сдвига
Посмотрите здесь:

Существуют ли методы побитового сравнения строк? C++
операция сдвига C++
Строки. Произвести над каждым символом операцию побитового И C++
C++ "Ругается" на оперетор побитового исключения
Атомарна ли операция битового сдвига? C++
Не хватает опыта для того, чтобы понять ошибку в задаче циклического побитового сдвига C++
Произвести над каждым символом строки операцию побитового И, со вторым операндом равным 11010111. C++
C++ Как работает и в чём смысл побитового И в заданном фрагменте кода?
C++ Написать функцию, реализующую операцию побитового xor
C++ Прокомментируйте программу побитового отрицания
Разбор примера работы побитового И C++
Найти сумму двух не знаковых чисел, а затем провести операцию побитового «И» над суммой и вторым числом C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
iama
1249 / 974 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
14.02.2013, 20:56     Операция побитового сдвига #2
Цитата Сообщение от marina11 Посмотреть сообщение
а затем проверить биты полученного числа (тоесть, что находится в ячейке 0 или 1)
Ничего не понятно.
marina11
1 / 1 / 0
Регистрация: 15.11.2012
Сообщений: 84
14.02.2013, 20:58  [ТС]     Операция побитового сдвига #3
Цитата Сообщение от iama Посмотреть сообщение
Ничего не понятно.
Допустим я ввела число 123, программа перевела в двоичную, вывела на экран 1111011, мне нужно задать условие, если в 7 ячейке 0, выводить надпись "ноль",а если 1, то выводить надпись "единица".Как это сделать?
iama
1249 / 974 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
14.02.2013, 21:06     Операция побитового сдвига #4
Поразрядно запишите двоичную запись числа в массив и выдавайте ответ в зависимости от элемента массива, например.

С помощью побитовых операторов можно еще:
C++
1
cout << (n & (1 << 7) ? "1" : "0");
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
14.02.2013, 21:31     Операция побитового сдвига #5
Цитата Сообщение от marina11 Посмотреть сообщение
Допустим я ввела число 123, программа перевела в двоичную, вывела на экран 1111011, мне нужно задать условие, если в 7 ячейке 0, выводить надпись "ноль",а если 1, то выводить надпись "единица".Как это сделать?
У вас программа не правильно считает.
Yandex
Объявления
14.02.2013, 21:31     Операция побитового сдвига
Ответ Создать тему
Опции темы

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