Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2011, 22:11   #1
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию амперсанд и побитовый сдвиг

что означают следующие две записи:
1. num&0xff где num это какое-то целое число, а вместо 0xff можно подставить все что угодно, ну кто знает поймет, там 0xa1 например.
2. array[i]>>(byte*8), где array - массив целых чисел, i - произволбное целое число, byte - тоже произвольное число.
Kukurudza вне форума Ответить с цитированием
Старый 26.07.2011, 22:19   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

1. побитовая конъюнкция num и 255 (последнее в двоичной - 11111111, так что результат будет num)
2. побитовый сдвиг i-го элемента массива array вправо на byte*8 бит (например, в двоичной 11010>>2 - сдвиг на 2 бита, результат - 110)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 26.07.2011, 22:19   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
1. num&0xff где num это какое-то целое число, а вместо 0xff можно подставить все что угодно, ну кто знает поймет, там 0xa1 например.
про таблицы истинности слышал? побитово умножит 2 числа и возвратит результат. используется для проверки, установлены ли требуемые биты или нет

Цитата:
2. array[i]>>(byte*8), где array - массив целых чисел, i - произволбное целое число, byte - тоже произвольное число.
сдвиг вправо на N байт
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 26.07.2011, 22:24   #4
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Granus
Цитата:
так что результат будет num
результат будет равен младшим 8 битам числа num. или старшим, смотря какой порядок байт
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 26.07.2011 в 22:37.
pproger вне форума Ответить с цитированием
Старый 26.07.2011, 22:25   #5
Kukurudza
Форумчанин
 
Регистрация: 02.06.2011
Сообщений: 282
По умолчанию

да, все ясно, спасибо.
1 & 1 = 1
1 & 0 = 1
0 & 1 = 1
0 & 0 = 0

или
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

Последний раз редактировалось Kukurudza; 26.07.2011 в 22:28.
Kukurudza вне форума Ответить с цитированием
Старый 26.07.2011, 22:28   #6
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Сообщение от pproger
результат будет равен младшим 8 битам числа num
Ваша правда. Не задумался что num может быть больше 1 байта)
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 27.07.2011, 01:01   #7
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от Kukurudza Посмотреть сообщение
да, все ясно, спасибо.
1 & 1 = 1
1 & 0 = 1
0 & 1 = 1
0 & 0 = 0

или
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
При "побитовой логической И" результат будет равен 1 только тогда, когда оба бита равны 1. Так, что второй вариант в вашем случае !
An1ka вне форума Ответить с цитированием
Старый 27.07.2011, 01:08   #8
alex_x_x
Форумчанин
 
Регистрация: 31.01.2011
Сообщений: 160
По умолчанию

да, там ||
alex_x_x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
амперсанд & soirkar Общие вопросы C/C++ 7 23.06.2011 16:47
Вывод побитовый преобразований EddieG Общие вопросы C/C++ 2 19.09.2010 17:18
JavaScript амперсанд Namolem Помощь студентам 0 13.02.2010 11:33
Побитовый сдвиг Belii09878 Помощь студентам 10 02.02.2010 14:46
C++ побитовый сдвиг KOLYTFR Помощь студентам 1 03.06.2009 22:42