|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
Тип данных long07.02.2015, 12:08. Показов 11935. Ответов 47
Метки нет (Все метки)
Здравствуйте.
1) long - это новый тип данных в c++? 2) Если первое верно, зачем вводить новый тип данных, если есть такой же int? 3) Если первое неверно, в чем отличие long от int? Если я правильно понял, long - это long int. В языке C нет типа данных long, там int и long int. Вопрос: почему при компиляции переменной с типом long в языке C не выдается ошибка? Спасибо.
1
|
|
| 07.02.2015, 12:08 | |
|
Ответы с готовыми решениями:
47
Тип unsigned long long Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p |
|
|
|
| 07.02.2015, 12:13 | |
|
long - это не новый тип данных.
long и long int - это одно и то же. Отличие long int от int, в том, что переменная может вмещать более крупные числа. По нарастающей short int -> int -> long int -> long long int
0
|
|
|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
| 07.02.2015, 12:18 [ТС] | |
|
Ouroboros-SK, да, но размер int и long одинаков: 4 байта - и диапазон у них одинаковый.
0
|
|
|
|
|
| 07.02.2015, 12:18 | |
|
Поскольку в языке С есть тип данных long int, то не возникает ошибки, при обьявлении просто long.
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 07.02.2015, 12:21 | |
|
В С++ есть тип данных long и int. Причем тут пост выше незнаю)).
Гарантии языка: char <= short <= int <= long <= long long А так их размеры определяют компиляторы. Дело с int в том, что оно равно машинному слову( зависит от регистра процессора, регистра шины процессора и регистра ОС). На данный момент long и int по 32 бита. Несколько лет назад int был 16 бит, к примеру.
2
|
|
|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
| 07.02.2015, 12:29 [ТС] | |
|
rikimaru2013, т.е int заточен под конкретные возможности данного компьютера? Тогда и long также изменяем...
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|||||||
| 07.02.2015, 12:31 | |||||||
1
|
|||||||
|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
| 07.02.2015, 12:35 [ТС] | |
|
0x10, нет int: 4, long: 4
У меня они одинаковые.
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 07.02.2015, 12:36 | |
|
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|||
| 07.02.2015, 12:38 | |||
|
Для строгой гарантии стандартом предусмотрены специальные типы с указанием размерности. int32_t, int16_t и т.п. Добавлено через 36 секунд
0
|
|||
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
||
| 07.02.2015, 12:38 | ||
|
есть short int int long int long long int, в этом не уверен стандартизирован ли он допускается слово int опускать например short тоже самое что short int long int тоже самое что long также как unsigned тоже самое что unsigned int гарантировано что short int не больше чем int int не больше, чем long int long int не больше чем long long int но!!!long double нельзя написать long, это будет другой тип
1
|
||
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 07.02.2015, 12:40 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
| 07.02.2015, 12:41 [ТС] | |
|
Что-то тут не то.
0
|
|
|
Модератор
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,863
|
||||
| 07.02.2015, 12:42 | ||||
|
int размер 16 бит (2 байта) long int размер 32 (4 байта) конкретный размер стандарт не гарантирует так же как char это минимальный элемент равен байту, а в байте не обязательно 8 бит ![]() Добавлено через 53 секунды ![]() вместо long double нельзя написать long
0
|
||||
|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
| 07.02.2015, 12:43 [ТС] | |
|
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|
| 07.02.2015, 12:44 | |
|
0
|
|
| 07.02.2015, 12:50 | |
|
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 07.02.2015, 12:54 | ||
Если 32, то и думать нечего.Если для x64, тот тут возможны варианты. Например разрядность для long могли оставить 4 байта из соображений совместимости, т.к. 32-разрядные архитектуры очень долго держались в качестве основных на рынке PC, и чтобы не ломать старый код, создатели компиляторов решили оставить разрядность в прежнем виде, даже для x64. Но на других архитектурах, например ARM или MIPS, этого может не быть. Вот ссылка для справки. См. таблицу в середине статьи. Там хорошо видно, что для windows x64 (64) решено оставить разрядность такой-же, как была для x86 (32). Но на *NIX уже все честно и long стал 64-разрядным.
1
|
||
|
2 / 2 / 0
Регистрация: 29.01.2015
Сообщений: 25
|
|
| 07.02.2015, 12:55 [ТС] | |
|
0
|
|
|
19497 / 10102 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 07.02.2015, 12:57 | ||
|
idi, стандарт гарантирует только
0
|
||
| 07.02.2015, 12:57 | |
|
Помогаю со студенческими работами здесь
20
Не понятный undefined reference to `unsigned long long f<unsigned long long, void>
Как написать функцию c типом long double возвращаюшую тип shot? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|