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

сравнение знаковых и беззнаковых чисел - 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 и вывести на экран площадь наибольшего треугольника. У меня...
C++ char массив - цикл for
Вообщем ситуация такая, есть такие условия char ch_number1; const int arrSize = 25; Пользователь должен ввести число в массив - и только цифры: Нужно в char-овский массив проверить на значения -...
C++ Определить класс "Школьник" http://www.cyberforum.ru/cpp-beginners/thread409248.html
Помогите, пожалуйста, с языком я плохо знаком, без помощи не разберусь:( Определить класс "Школьник", предусмотрев в нем компонентные данные: фамилия, имя, отчество, адрес, край, область, город,...
C++ Расположить массив из русских букв по порядку Не могу справится с задачей..Как можно более полно описывайте суть проблемы или вопроса, что было сделано для ее решения и какие результаты получены. подробнее

Показать сообщение отдельно
yekka
386 / 150 / 8
Регистрация: 12.05.2011
Сообщений: 450
17.12.2011, 09:38  [ТС]
Цитата Сообщение от Mr.X Посмотреть сообщение
Ну, здесь производится арифметическое преобразование типов, согласно которому операнд "меньшего" типа приводится к типу операнда "большего" типа. В иерархии типов "большим" считается тот тип, который может представить большее положительное значение.
Хм. Действительно, если отрицательное число будет "большего" типа, то результат получается "правильный".
C++
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <stdint.h>
 
int main() {
  if ( (uint32_t) 1 > (int64_t) -1 ) 
    printf("1 > -1\n");
  else
    printf("1 <= -1\n");
}
А то, что отрицательные числа так топорно кастуются в беззнаковые -- это типа фича языка си.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.