Форум программистов, компьютерный форум CyberForum.ru

Разница int, short, unsigned int, unsigned short - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.81
tinne
9 / 9 / 0
Регистрация: 13.10.2012
Сообщений: 279
11.12.2012, 14:30     Разница int, short, unsigned int, unsigned short #1
Есть например цикл который проходит по массиву в котором 100 элементов.
В чем практическая выгода и разница в истоьзовании типов short, int, unsigned short. Я понимаю, что у них различный диапазон числовых значений.
Например есть цикл
C++
1
2
unsigned short i = 0;
for (i = 0; i < 100; ++i)
и
C++
1
2
int i = 0;
for (i = 0; i < 100; ++i)
В чем разница? Можно же везде под одну гребенку писать int и не парится. Или какая выгода всетаки есть?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2012, 14:43     Разница int, short, unsigned int, unsigned short #2
tinne, лучше использовать беззнаковый тип. Так как Вы проходите от нуля и далее(индекс не может быть отрицательным). short выгодней чем int тем, что мы экономим память там, где нам это реально нужно.
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
11.12.2012, 14:51     Разница int, short, unsigned int, unsigned short #3
tinne, но будьте аккуратны - если вы присвоите отрицпательное число перемнной беззнакового типа - то будет большая беда
tinne
9 / 9 / 0
Регистрация: 13.10.2012
Сообщений: 279
11.12.2012, 14:52  [ТС]     Разница int, short, unsigned int, unsigned short #4
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
tinne, но будьте аккуратны - если вы присвоите отрицпательное число перемнной беззнакового типа - то будет большая беда
На сколько большая? Компилятор ругаться будет или что-то по мимо этого может произойти?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
11.12.2012, 14:59     Разница int, short, unsigned int, unsigned short #5
Цитата Сообщение от tinne Посмотреть сообщение
На сколько большая? Компилятор ругаться будет или что-то по мимо этого может произойти?
Нет. Беды так таковой не будет. Ну сами вдумайтесь переменной, которая может принимать только положительные значиния в заданом диапозоне присвоили отрицательное. Просто старший бит не будет знаком.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
11.12.2012, 15:25     Разница int, short, unsigned int, unsigned short #6
или еще такой вариант
C++
1
2
3
4
for (signed char i = 0; i < 128; i++) // бесконечный цикл
{
    // body
}
Yandex
Объявления
11.12.2012, 15:25     Разница int, short, unsigned int, unsigned short
Ответ Создать тему
Опции темы

Текущее время: 10:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru