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

сравнение знаковых и беззнаковых чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread409284.html
Дана целочисленная квадратная матрица. Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.
C++ Не могу добавить \ Здравствуйте, вот код: GetCurrentDirectory(256, lpBuffer); strcat(lpBuffer,"\"); strcat(lpBuffer,pDrvName); awPath = lpBuffer; Так как знак "\" является одной из скобок языка, не получается его прибавить к строке, но это нужно сделать, подскажите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread409280.html
C++ Функции в С++
Помогите пожалуйста решить одну задачу с использованием функции: Дано N треугольников, ввести их координаты, т.е x1,y1,x2,y2,x3,y3 и вывести на экран площадь наибольшего треугольника. У меня получается только ввести один треугольник, а как ввести N количество, незнаю, предполагаю нужно через цикл, но уже пробовал, не получается. Вот, что только получается: #include <iostream> using...
C++ char массив - цикл for
Вообщем ситуация такая, есть такие условия char ch_number1; const int arrSize = 25; Пользователь должен ввести число в массив - и только цифры: Нужно в char-овский массив проверить на значения - чтобы только были цифры Пока не могу разобратся с этим -вроде делаю проверку в форе - но когда он выходить - значение стирается - а треюуется, чтобы он его запомнил после фор void inputnumber1...
C++ Определить класс "Школьник" http://www.cyberforum.ru/cpp-beginners/thread409248.html
Помогите, пожалуйста, с языком я плохо знаком, без помощи не разберусь:( Определить класс "Школьник", предусмотрев в нем компонентные данные: фамилия, имя, отчество, адрес, край, область, город, улица, номер дома. Предусмотреть создание свойств для доступа к отдельным компонентам и методы для вывода информации на экран. Предусмотреть создание производного класса. Помогите, я это задание сам...
C++ Расположить массив из русских букв по порядку Не могу справится с задачей..Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены. подробнее

Показать сообщение отдельно
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450

сравнение знаковых и беззнаковых чисел - C++

16.12.2011, 21:34. Просмотров 2566. Ответов 3
Метки (Все метки)

Возьмем пример:
C++
1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main() {
  if ( 1U > -1 ) 
    printf("1 > -1");
  else
    printf("1 <= -1\n");
}
Как бы абсурдно это не выглядело, но результатом выполнения этой программы будет строка "1 <= -1".
Насколько я понимаю, -1 в памяти хранится как FF FF FF FF и если интерпретировать такую последовательность битов как беззнаковое число, то оно, естественно, будет больше единицы. Но если убрать из этого примера буковку 'U', то последовательности сравниваемых битов останутся совершенно теми же, но получим теперь уже "верный" результат "1 > -1", так как числа будут интерпретироваться с учетом знака.

И вот что мне совершенно непонятно, так это почему в языке выбрано именно такое неочевидное и провоцирующее ошибки поведение при сравнении знаковых и беззнаковых целых чисел?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru