Возможно ли число 1010 засунуть в long long
или не влезет?
Влезет, с огромным запасом.
Вот, почитайте: http://en.cppreference.com/w/cpp/language/types
В long long
гарантированно влезают числа от -9,223,372,036,854,775,807 до 9,223,372,036,854,775,807 (т.е. ±(264-1-1) )
На абсолютном большинстве систем нижняя граница на один ниже: -9,223,372,036,854,775,808.
Компилятору разрешается иметь long long
еще большего размера, но в жизни я такого не видел.
У типа long long
нет заранее фиксированного диапазона, однако спецификация языка требует, чтобы он был не уже чем [-(263 - 1), 263 - 1]. Поэтому значение 1010 в него влезет.
Размер long long
- 8 байт. 8 байт = 264 бит. 1010 = 10000000000. Значение переменной типа long long
может быть -263 <= x < 263. Число 263 очевидно больше, чем число 10000000000, следовательно, переменной типа long long
можно присвоить значение 1010. Ответ: да.
Тип long long
хранит 64 битные целые числа. Поскольку старший бит используется для обозначения знака, то остаются 63 бита. Т.е. в тип long long
можно записать любое число из диапазона [−263 + 1 … 263 − 1]
Очевидно, что число 1010 больше нуля. Попробуем сравнить его с 263
1010 < 1610 = (24)10 = 240 < 263
в любых случаях для встроенных типов просто проверьте или утвердите:
assert(numeric_limits<long long>::max() > x);
assert(numeric_limits<long long>::min() < x);
if (numeric_limits<long long>::max() > x || numeric_limits<long long>::min() < x))
cout << "ok";
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Скорее всего, все наслышаны про различные алгоритмы сортировокТакже, в C++ есть встроенная библиотека <algorithm>, в которой есть функция sort