Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Заблокирован
1

Операции с битами данных

17.06.2015, 15:09. Показов 1724. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня !

Подскажите пожалуйста как произвести побитовое И ?

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
#include <iostream>
#include <conio.h>
 
 
using namespace std;
 
 
int main()
 
{
    unsigned short  x = 65535;
 
    unsigned short  y = 65535;
 
    unsigned short  z;
 
    x & y;
 
    cout<<"\n****** "<<sizeof(x)<<" "<<x<<" "<<y<<"\n";
 
    getch();
 
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.06.2015, 15:09
Ответы с готовыми решениями:

Операции с битами
Напишите программу, которая принимает с клавиатуры целое число типа int и подсчитывает в нем...

Операции с битами в c++
Помогите начинающему. Объясните пожалуйста как работает данная функция void...

Объединение. Операции с битами
Напишите программу, которая вычисляет произведение любого целого без знака числа на выражение 2 n...

операции для работы с битами
Есть ли в Visual C++ операторы выполняющие операции для работы с битами(сдвиг влево, сдвиг вправо,...

39
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
27.06.2015, 16:40 21
Author24 — интернет-сервис помощи студентам
<<, >>
1
Заблокирован
28.06.2015, 14:38  [ТС] 22
написал так
C++
1
<< x;
получил ошибку

написал так
C++
1
>> x;
получил ошибку
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
28.06.2015, 14:46 23
Что и на сколько ты хотел сдвинуть в своих примерах?

Добавлено через 6 минут
Слева - значение, справа - количество бит.
1
Заблокирован
28.06.2015, 14:50  [ТС] 24
к примеру хочу сдвинуть значение x на 5 позиций влево.

так вроде ошибок нет
C++
1
x << 5;
но нечего не меняется в х (((
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
28.06.2015, 14:55 25
Ты когда числа вот так складываешь:
C++
1
x + 100
x меняется?

Не по теме:

Что ты делал два года на форуме?

2
Заблокирован
28.06.2015, 15:04  [ТС] 26
Цитата Сообщение от castaway Посмотреть сообщение
Ты когда числа вот так складываешь:
тоесть надо написать что-то типо этого
C++
1
 x = x << 5;
?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
28.06.2015, 15:25 27
Да, типо этого.
1
Заблокирован
28.06.2015, 15:32  [ТС] 28
спасибо Вам большое за помощь !

буду думать !
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
28.06.2015, 15:54 29
Цитата Сообщение от RAFA91 Посмотреть сообщение
спасибо Вам большое за помощь !
Пожалуйста.

Цитата Сообщение от RAFA91 Посмотреть сообщение
буду думать !
Это обязательно. Самое главное не забывать об этом.
0
Заблокирован
29.06.2015, 13:46  [ТС] 30
а есть что-то типо вдвигания единицы в младший или старший разряд ?

или это делается программно установкой соответствующего бита ?
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
29.06.2015, 13:56 31
Делается вручную.
C++
1
2
3
int value = 123;
int bit = 1;
value = (value << 1) | (bit & 1);
0
Kuzia domovenok
29.06.2015, 14:04
  #32

Не по теме:

у меня такое чувство, что автор живёт в галактике Гаргантюа у сверхмассивной чёрной дыры и пока на Земле проходит полмесяца, на его планете он только начинает изучать один оператор С++ - сдвига.

0
castaway
29.06.2015, 14:23
  #33

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
пока на Земле проходит полмесяца, на его планете он только начинает изучать один оператор С++ - сдвига.
))))))))))))

0
Заблокирован
29.06.2015, 14:38  [ТС] 34
Цитата Сообщение от castaway Посмотреть сообщение
Делается вручную.
а зачем делать это ?

C++
1
bit & 1
расписал по порядку для понимания

C++
1
2
3
value = value << 1 //сдвиг на 1 позицию влево
 
value =  value | bit;
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
29.06.2015, 14:49 35
Цитата Сообщение от RAFA91 Посмотреть сообщение
а зачем делать это ?
Чтобы выделить именно один младший бит переменной bit. Вдруг там число больше 1 !?
0
Заблокирован
29.06.2015, 17:09  [ТС] 36
так тут же указанно что

C++
1
int bit = 1;
C++
1
bit = bit & 1
bit всеравно будет равен 1
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
29.06.2015, 19:24 37
Цитата Сообщение от RAFA91 Посмотреть сообщение
так тут же указанно что
Всё верно, в случае с моим примером можно не выделять младший бит, но если младший бит берётся из переменной с неизвестным значением, то выделять его придётся.
0
Заблокирован
30.06.2015, 12:19  [ТС] 38
Цитата Сообщение от castaway Посмотреть сообщение
но если младший бит берётся из переменной с неизвестным значением, то выделять его придётся.
это хорошо если он равен 1 . а если 0 ?

тогда логическое И даст 0 в младшем бите.

в остальных тоже.
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
30.06.2015, 12:24 39
Цитата Сообщение от RAFA91 Посмотреть сообщение
это хорошо если он равен 1 . а если 0 ?
тогда логическое И даст 0 в младшем бите.
Всё правильно. Это же двоичная арифметика.

Цитата Сообщение от RAFA91 Посмотреть сообщение
в остальных тоже.
Не понял что ты имел в виду.
0
Заблокирован
01.07.2015, 12:41  [ТС] 40
Цитата Сообщение от castaway Посмотреть сообщение
Не понял что ты имел в виду.
ну если к примеру bit = 254; пусть оно 8 - битное

это в двоичной системе будет 11111110

при выполнении логического И 11111110 & 00000001 получим 00000000 все 1 превратили в 0
0
01.07.2015, 12:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2015, 12:41
Помогаю со студенческими работами здесь

Операции с битами
Помогите пожалуйста сделать такое задание эту тему я плохо понимаю буду очень благодарен! Задание....

Операции с битами
Помогите, пожалуйста написать программу, которая изменяет значение указаного бита произвольного...

Операции с битами
Дано целое число A и натуральное число i. Выведите число, которое получается из числа A установкой...

операции с битами
Составить программу , которая переводит восьмеричное число А в десятичное число. Вывести...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru