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

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

Восстановить пароль Регистрация
 
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
02.08.2013, 15:02     Определение типов. Приведение int к unsigned int #1
При таком определении 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
Посмотрите здесь:

C++ Написать функцию типа Beaty(int iA, int iB, int *pc)
Функции float average(int arrray[],int from,int to) C++
numeric_limits<unsigned int>::digits C++
C++ Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
C++ unsigned int не работает
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 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
2187 / 1870 / 187
Регистрация: 03.07.2012
Сообщений: 6,660
Записей в блоге: 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
Ответ Создать тему
Опции темы

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