Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить: количество элементов массива, больших С, произведение. http://www.cyberforum.ru/cpp-beginners/thread932537.html
В одномерном массиве, состоящем из п вещественных элементов, вычислить: 1) количество элементов массива, больших С; 2) произведение элементов массива, расположенных после максимального по мо¬дулю...
C++ Удаление секции конфигрурационного файла Дано: конфигрурационный файл config.cfg key1=123; key2=345; key1=asd; Требуется: удалить секцию 1 вместе со всеми ключами http://www.cyberforum.ru/cpp-beginners/thread932512.html
Не могу справиться с if! C++
Вот код: #include <iostream.h> #include <stdio.h> int main() { using namespace std; string name; cout << "Type name: "; cin >> name;
компилятор находит неоднозначность при вызове round(i) C++
Доброго времени суток! Подскажите, компилятор находит неодназначтность в строке 26 *вызов функции round(i)* G:\lessons\round.cpp|25|error: call of overloaded 'round(double&)' is ambiguous| ...
C++ Размер контейнера не меняется при изменении итератора http://www.cyberforum.ru/cpp-beginners/thread932479.html
Почему размер контейнера не меняется? std::string m; std::string::iterator mi = m.begin(); *mi = 'd'; std::cout << m << std::endl; // d std::cout << m.size(); // 0
C++ Как ограничить параметр типа шаблона только числовыми типами данных? Собствено, сабж. Ключевое для поиска слово хотябы. подробнее

Показать сообщение отдельно
zer0mail
2379 / 2010 / 200
Регистрация: 03.07.2012
Сообщений: 7,249
Записей в блоге: 1
02.08.2013, 16:04
Тип определяется переменной, а не константой. Значения в 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.