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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
#1

Определение типов. Приведение int к unsigned int - C++

02.08.2013, 15:02. Просмотров 639. Ответов 5
Метки нет (Все метки)

При таком определении 5 рассматривается как int. Как при определении указать что 5 будет именно unsigned int?

C++
1
unsigned int    n=5;
Для вещественных типов добавляется буква F:
C++
1
float f=3.14F;
И тут число 3.14 будет иметь тип float
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 15:02     Определение типов. Приведение int к unsigned int
Посмотрите здесь:

Преобразование 'time_t' в 'unsigned int' C++
numeric_limits<unsigned int>::digits C++
C++ Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
C++ Не работает unsigned int
C++ Разница int, short, unsigned int, unsigned short
Vector<unsigned char> в int C++
C++ Приведение типов unsigned char[2] to unsigned char [64]
C++ Сложение int и unsigned
C++ Отличаются ли unsigned int и BYTE ?
Некорректное преобразование double в int (приведение типов) C++
Как исправить ошибку невозможно преобразовать аргумент 1 из "unsigned int" в "unsigned int []"? C++
C++ Почему плохо использовать unsigned int?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
02.08.2013, 15:07     Определение типов. Приведение int к unsigned int #2
а есть какие-то проблемы?

Но раз уж хочется, то пиши
C++
1
unsigned int    n=5u;
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
02.08.2013, 15:09  [ТС]     Определение типов. Приведение int к unsigned int #3
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а есть какие-то проблемы?
лишние преобразования. Сначала 5 имеет тип int, после этого это число преобразуется в unsigned int.

Я имею ввиду что здесь лишняя и ненужная работа
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
02.08.2013, 15:11     Определение типов. Приведение int к unsigned int #4
Цитата Сообщение от BigLow Посмотреть сообщение
лишние преобразования. Сначала 5 имеет тип int, после этого это число преобразуется в unsigned int.
Разве это влияет на скорость? Эти преобразования происходят на этапе компиляции!
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
02.08.2013, 15:14  [ТС]     Определение типов. Приведение int к unsigned int #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Эти преобразования происходят на этапе компиляции!
я не знал об этом
zer0mail
2308 / 1934 / 192
Регистрация: 03.07.2012
Сообщений: 6,924
Записей в блоге: 1
02.08.2013, 16:04     Определение типов. Приведение int к unsigned int #6
Тип определяется переменной, а не константой. Значения в i и j (до бита) будут одинаковы:
C++
1
2
3
4
5
6
int i=5;
или
int i=5u; 
unsigned int j=5;
или
unsigned int j=5u;
Различия появятся когда i и j начнут участвовать в операциях (компилятор сгенерирует разный код).

Более, того все переменные (до бита) будет одинаковы, если присвоить -5. Так что компилятору ничего преобразовывать не надо - он тупо запишет в ячейку набор битов.

И при сложении/умножении двух целых:
C
1
i+=j; i*=j;
биты результата не зависят от того, unsigned они или нет.
Yandex
Объявления
02.08.2013, 16:04     Определение типов. Приведение int к unsigned int
Ответ Создать тему
Опции темы

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