Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
BigLow
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
#1

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

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

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

C++
1
unsigned int    n=5;
Для вещественных типов добавляется буква F:
C++
1
float f=3.14F;
И тут число 3.14 будет иметь тип float
http://www.cyberforum.ru/cpp-beginners/thread1953926.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2013, 15:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определение типов. Приведение int к unsigned int (C++):

Некорректное преобразование double в int (приведение типов)
Не совсем очевидно. https://ideone.com/7P0EhY #include <iostream>...

Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
Пользователь вводит двоичную строку (32 символа). Поместить двоичный код, в...

Как исправить ошибку невозможно преобразовать аргумент 1 из "unsigned int" в "unsigned int []"?
Ребят, срочно прошу вас помочь.. Есть ошибка (невозможно преобразовать...

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H...

Разница int, short, unsigned int, unsigned short
Есть например цикл который проходит по массиву в котором 100 элементов. В чем...

5
Kuzia domovenok
2208 / 1977 / 440
Регистрация: 25.03.2012
Сообщений: 6,936
Записей в блоге: 1
02.08.2013, 15:07 #2
а есть какие-то проблемы?

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

Я имею ввиду что здесь лишняя и ненужная работа
0
Kuzia domovenok
2208 / 1977 / 440
Регистрация: 25.03.2012
Сообщений: 6,936
Записей в блоге: 1
02.08.2013, 15:11 #4
Цитата Сообщение от BigLow Посмотреть сообщение
лишние преобразования. Сначала 5 имеет тип int, после этого это число преобразуется в unsigned int.
Разве это влияет на скорость? Эти преобразования происходят на этапе компиляции!
0
BigLow
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
02.08.2013, 15:14  [ТС] #5
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Эти преобразования происходят на этапе компиляции!
я не знал об этом
0
zer0mail
2451 / 2085 / 216
Регистрация: 03.07.2012
Сообщений: 7,566
Записей в блоге: 1
02.08.2013, 16:04 #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 они или нет.
1
02.08.2013, 16:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2013, 16:04
Привет! Вот еще темы с решениями:

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)'
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; ...

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.?
Не понимаю, с чего начинать. Заранее спс.

Что означает ошибка too few arguments to function ‘int my_func(int, int)’ (язык C++)?
В чём проблема? #include &lt;iostream&gt; int my_func (int i, int j){ int z; ...

[Linker error] undefined reference to `sterling(int, int, int)'
#include &lt;iostream&gt; using namespace std; int sterling(int,int,int); int...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru