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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2016, 12:01   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание define c++

Добрый день!

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

Код:
#define DICT_SIZE       (1 << 20)
Что означает (1<<20)?
Maray вне форума Ответить с цитированием
Старый 10.01.2016, 12:35   #2
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

А учебник читать не пробовали? Оператор << cдвигает единицу влево на 20 позиций, с права дописываются нули.
В данном случае используется для быстрого возведения в степень и соответствует значению 2 в степени 20.
А скобки для того что-бы не выстрелить себе в ногу.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 10.01.2016 в 12:41.
Pavia вне форума Ответить с цитированием
Старый 10.01.2016, 12:36   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Битовый сдвиг. Цифра 1 (установленный бит номер 0) сдвигается на 20 бит влево.
получается цифра 2^20.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.01.2016, 12:57   #4
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Огромное Вам спасибо!
Maray вне форума Ответить с цитированием
Старый 10.01.2016, 13:19   #5
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

А, не подскажите, пожалуйста, ещё. А если вот так:

#define DICT_SIZE (-1)

У меня выводит 4294967295
Maray вне форума Ответить с цитированием
Старый 10.01.2016, 13:41   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

-1 это число FFFFFF в 16-тиричном представлении. Переведи в десятичное получишь то что у тебя вывелось. Читай о представлении отрицательных чисел в компе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
define -=Andriushka=- Общие вопросы C/C++ 1 26.12.2013 19:55
define roulis2844sasha PHP 1 29.03.2012 10:47
#define Артэс Общие вопросы C/C++ 3 11.01.2012 19:50
#define JOFRIF Общие вопросы C/C++ 7 21.07.2009 18:26