Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Maray
3 / 3 / 4
Регистрация: 03.01.2015
Сообщений: 445
#1

Нюансы синтаксиса: что означает запись (1<<20) ? - C++

10.01.2016, 11:59. Просмотров 241. Ответов 3
Метки нет (Все метки)

Добрый день!

Подскажите, пожалуйста. Нашел программу, в ней есть такая строка:

Код
#define DICT_SIZE       (1 << 20)
Что означает (1<<20)?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2016, 11:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нюансы синтаксиса: что означает запись (1<<20) ? (C++):

Нюансы синтаксиса: что означает запись for ( ; ; ) ?
Встретила в программе такую строку: for ( ; ; ) { // some code } ...

Нюансы синтаксиса: что означает данная запись
Всем привет! VS2010, консольный проект C++. По ошибке написал: int b = (5,...

Нюансы синтаксиса: что означает запись amount++ ?
что означает amount++

Нюансы синтаксиса: что означает запись sum += x; ?
что это за сокращение?

Нюансы синтаксиса: что означает запись arr[(int)(u*10)]++; ?
arr++; скажите пожалуйста что это может означать ? arr - масив количеств...

Нюансы синтаксиса: что означает запись _Tp _Cp::*?
Объясните, пожайлуста, несколько моментов. 1) Изучал исходники компилятора и...

3
Nick Alte
Эксперт С++
1646 / 1018 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
10.01.2016, 12:05 #2
Лучший ответ Сообщение было отмечено Maray как решение

Решение

Означает 2 в 20 степени (то есть 1 048 576).

Добавлено через 1 минуту
P.S. Операция << означает "двоичный поразрядный сдвиг влево", а не "возведение в степень".
1
Maray
3 / 3 / 4
Регистрация: 03.01.2015
Сообщений: 445
10.01.2016, 13:19  [ТС] #3
Огромное Вам спасибо!

Добавлено через 22 минуты
А, не подскажите, пожалуйста, ещё. А если вот так:

#define DICT_SIZE (-1)

У меня выводит 4294967295
0
Nick Alte
Эксперт С++
1646 / 1018 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
10.01.2016, 14:31 #4
При выводе это значение преобразуется в беззнаковое число. Опять же, не из-за того, что вывод вообще, а в данном конкретном случае указано, что надо преобразовать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2016, 14:31
Привет! Вот еще темы с решениями:

Нюансы синтаксиса: что означает запись typedef void(*PF) (); ?
Что означает эта команда typedef void(*PF) (); ?

Нюансы синтаксиса: что означает запись void Test::TestCheck() ?
Вот пример, и мне не понятно почему мы пишем сначала void перед пространством...

Нюансы синтаксиса: что означает запись po.npos; s.erase; s.insert ?
Что в контексте этого кода значат po.npos; s.erase; s.insert ? ...

Нюансы синтаксиса: что означает запись return класс (имя, имя) ?
Добрый день! Столкнулся в одном из кодов (приводится ниже, из книги Лафоре) с...


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

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

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