26.08.2011, 07:55 | #1 (permalink) |
Member
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
|
Типы данных. Зачем нужен int?
Подозреваю, что int есть рудимент, оставшийся с тех времен, когда компьютеры были большими, а оперативная память очень маленькая и использовался для экономии ресурсов. Сейчас то какой в нем смысл? Или я чего-то недопонимаю (не знаю)? |
26.08.2011, 07:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На нашем форуме создается много подобных тем Откуда и зачем? Зачем нужен драйвер realtek HD Audio (встроенное) на Windows 7? |
26.08.2011, 12:58 | #3 (permalink) |
Member
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
|
Чтобы избежать проблем с кодом, созданным давным-давно под старые компиляторы? Понятно... А я грешным делом подумал, что бывают особые случаи, когда без int никак обойтись нельзя.
|
26.08.2011, 13:53 | #4 (permalink) | |||
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Не совсем так.
Различают так называемые фундаментальные и интегральные типы данных. Int относится именно к фундаментальным типам. На основе фундаментальных типов можно, опираясь на правила преобразования и конструирования типов, построить интегральные, естественно, с наследованием соответствующих признаков. И еще, вот цитаты из книги Бьярна Страустрапа "Введение в язык C++": Цитата:
Цитата:
Цитата:
__________________
Убить всех человеков! |
|||
26.08.2011, 16:20 | #5 (permalink) |
Member
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
|
Выходит, выводы мои были поспешны и int совсем не лишний и не устаревший тип, а один из элементов, придающий языку C гибкость и эффективность. Спасибо за поправку, а то у меня начало уже складываться неверное понимание самых основ C, по-видимому сказывается тяжкое наследие бейсика
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
26.08.2011, 23:31 | #6 (permalink) |
Member
Регистрация: 27.02.2010
Сообщений: 659
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1312
|
вообще-то это для оптимизации. ведь не будете забивать маленькие гвозди кувалдой так ведь?
в дельфи например есть еще тип word кажется и еще какой-то так там вообще до от -256 до 256. если создать к примеру программу в том же с в нем переменную int a =1 и другую float a = 2 то первая будет вообще говоря весить меньше второй. но это совсем не значительно. есть еще некоторые функции кажется с округлением. там тоже есть некоторые проблемы.в общем если известно что там будет только целые то лучше использовать именно их если еще и положительные то unsigned если еще и не нужно сильно больше то вроде можно использовать shortint ну и т.д. старайтесь оптимизировать код сразу но не усердствовать сильно. соблюдать середину золотую так сказать))) |
29.08.2011, 01:45 | #7 (permalink) |
Новичок
Регистрация: 19.08.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Просто действия над целыми числами выполняются гораздо бысрее чем над вещественными и требуют меньше памяти для хранения. Все очень просто, нужно оперировать целочисленными значениями -- выбираем int (если мало, то long int), нужны дробные -- float или double.
|
31.08.2011, 18:46 | #8 (permalink) |
Member
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
|
Проверил на практике скорость выполнения приложений с различными типами данный. Простенькая программулька с циклом for, складывающая последовательно все числа начиная с единицы, вплоть до того, пока сумма не станет равна 1_у миллиарду. Сначала все переменные объявил как int, потом как dooble. В первом случае программа выполнилась в 1,5 раза быстрее!!!
Все, пошел перечитывать раздел о правилах преобразования типов, который сначала счел не особо важным. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|