2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
1

(1 shl i) что такое?

13.09.2010, 20:25. Показов 12834. Ответов 14
Метки нет (Все метки)

нашел пример там в условии такая запись (1 shl i) i это переменная цикла for
Смотрел в отладчике значение (1 shl i) изменяется не понятным образом например если i=3 то (1 shl i) равно 8, i=6 то (1 shl i) равно 64. Справку почитал "Ключевое слово Shl выполняет поразрядный сдвиг влево целого числа" но не врубился (
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2010, 20:25
Ответы с готовыми решениями:

Объект TDictionary. Что такое ключ и что такое значение?
Из прочитанного в гугле понял что это нечто наподобие какого-то словаря: Коллекция пар...

Как такое проделать с мемо? или что подходит под такое?
Привет всем! Как сделать такое? и на чем лучше мемо,листбокс.... или просто как вставить...

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое IIS и что такое PWS? Почему одно без другого не работает?
вот уже второй день пытаюсь немного разобраться в АСП. накидал небольшую тестовую страничку. но с...

14
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
13.09.2010, 20:29 2
http://ru.wikipedia.org/wiki/Битовый_сдвиг
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
13.09.2010, 20:40  [ТС] 3
а где это может пригодиться?

Добавлено через 5 минут
в моем примере условие такое
if (W and (1 shl i)) > 0 then где W:integer = 434422
вот я думаю какой смысл этого условия видь (1 shl i) всегда > 0 зачем это вообще писать?
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 20:47 4
Цитата Сообщение от anonimus Посмотреть сообщение
а где это может пригодиться?
https://www.cyberforum.ru/prog... 64747.html
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
13.09.2010, 21:31  [ТС] 5
или что значит and из условия ниже?
if (W and (1 shl i)) > 0 then
это равносильно такому условию?
if (W>0) and (1 shl i > 0) then
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
13.09.2010, 21:32 6
Нет, оператор and, примененный к числам, означает побитовое И.
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 21:32 7
anonimus, вроде бы обфускация. 1 shl i на первый взгляд должно давать истину, только при i > 0.
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
13.09.2010, 21:32 8
anonimus, прочитайте уже какую-нибудь книжку по паскалю.
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 21:33 9
Хохол, а может W имеет тип boolean? дельфи-таки ведь...
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
13.09.2010, 21:34 10
В таком случает это бы не скомпилилось:
W and (1 shl i)
Делфи все-таки

Добавлено через 32 секунды
Типизация строгая.
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
13.09.2010, 21:36 11
Хохол, всё правильно, я туплю.
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
13.09.2010, 21:38  [ТС] 12
Цитата Сообщение от Хохол Посмотреть сообщение
означает побитовое И
в смысле побитовое И
почему в этом условии if (W and (1 shl i)) > 0 если i равно 0 и 1 то условие false
как работает это and
0
Эксперт С++
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
13.09.2010, 21:40 13
http://ru.wikipedia.org/wiki/Битовые_операции
0
239 / 217 / 46
Регистрация: 17.04.2010
Сообщений: 525
14.09.2010, 12:07 14
Цитата Сообщение от anonimus Посмотреть сообщение
или что значит and из условия ниже?
if (W and (1 shl i)) > 0 then
это условие проверяет i-тый бит в переменной W
пример:
W = 15 = 00001111
1 shl 3 = 8 = 00001000
(W and (1 shl 3)) = 8

W = 7 = 00000111
1 shl 3 = 8 = 00001000
(W and (1 shl 3)) = 0

Цитата Сообщение от anonimus Посмотреть сообщение
это равносильно такому условию?
if (W>0) and (1 shl i > 0) then
нет!
1
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
14.09.2010, 12:11  [ТС] 15
x128, спасибо твой ответ наиболее полон, но я вчера еще въехал ))
все равно спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.09.2010, 12:11
Помогаю со студенческими работами здесь

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое напряжение и что такое сила тока с позиции заряженных частиц
Объясните пожалуйста, что такое напряжение и что такое сила тока с позиции заряженных частиц....

Что такое монитор и что такое мьютекс? Это же разные вещи?
Здравствуйте. В разных айти-статьях по-разному используют эти термины, причём часто их путают друг...

Что такое метод equals() и что такое класс Object
Ответи на два вопроса очень надо 1) Что такое метод equals(). Чем он отличается от операции ==....


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru