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

Побитовые операции - C++

Восстановить пароль Регистрация
 
flambo
25 / 25 / 0
Регистрация: 03.10.2009
Сообщений: 122
20.10.2010, 19:02     Побитовые операции #1
Задача: битовый образ 8*8 задается при помощи 8 байт, каждый байт состоит, соответственно, из 8 бит,
бит={0,1}; при помощи побитовых операций нужно заменить "0" на символ "пробел", а "1" на символ "0";
проблема: выводит или только "пробелы", или только "0";
код:
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
26
27
28
29
30
31
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
#include <conio.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{const int mask=1;
 int x,i,j,A[7];
 char ch;
 cout<<"Type 8 bit area\n";
 for (i = 0; i <= 0; i++ )         //цикл на один байт для удобства тестирования
        cin>>A[i];
 cout<<"Area typed\n"<<"Picture looks like:\n";
 
 for (i=0;i<=0;i++)               //цикл на один байт для удобства тестирования, начало вычислений 
        {for (j=0;j<=7;j++)
                {x=mask;
                if (A[i]&(x=x<<j)==(x)) cout<<"0";
                else cout<<" ";}
        cout<<endl;}
 
 
 
getch();
 
 
    return 0;
}
объясните, пожалуйста, причину
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 19:02     Побитовые операции
Посмотрите здесь:

C++ Побитовые операции!
побитовые операции C++
Побитовые операции C++
C++ Побитовые операции
C++ Побитовые операции
C++ побитовые операции
C++ Побитовые операции
C++ Побитовые операции

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
 Аватар для besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
20.10.2010, 22:00     Побитовые операции #2
По-моему, с условием намудрили.
C++
1
2
if ((A[i]>>j)&mask == mask ) cout<<"0";
                else cout<<" ";
flambo
25 / 25 / 0
Регистрация: 03.10.2009
Сообщений: 122
21.10.2010, 15:08  [ТС]     Побитовые операции #3
разобрался: нужно учитывать, что число из целого типа переводится в бинарную систему счисления,
соответственно нужно или каким-то образом через символы делать, или учитывать перевод при определении 8-ми байтового поля.
Yandex
Объявления
21.10.2010, 15:08     Побитовые операции
Ответ Создать тему
Опции темы

Текущее время: 13:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru