Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2019, 16:48   #1
Julie123
Новичок
Джуниор
 
Регистрация: 12.11.2019
Сообщений: 2
Вопрос Работа с препроцессором

Здравствуйте!
Подскажите, пожалуйста, почему программа выдает некорректный результат?

#include <stdio.h>
#include <limits.h>
#define RANGE ((INT_MAX)-(INT_MIN)+1)
void main()
{
printf("\nINT_MAX=%d, INT_MIN=%d,\ RANGE=%d",INT_MAX,INT_MIN,RANGE);
}

Результат такой: INT_MAX=2147483647, INT_MIN=-2147483648, RANGE=0. Почему 0?
Julie123 вне форума Ответить с цитированием
Старый 13.11.2019, 16:54   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

2147483647 + 2147483648 + 1 = 4294967296 = 0x1 00000000 -> int 4 байтный --> 0
p51x вне форума Ответить с цитированием
Старый 14.11.2019, 13:31   #3
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

RANGE = ((INT_MAX)-(INT_MIN)+1) = 2147483647 - 2147483648 + 1 = -1 + 1 = 0.
Cuprum5 вне форума Ответить с цитированием
Старый 14.11.2019, 13:34   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Cuprum5, даже вики знает INT_MIN = −2147483648, а -(-2147483648) = 2147483648.
Хватит бред писать.
p51x вне форума Ответить с цитированием
Старый 14.11.2019, 13:49   #5
Julie123
Новичок
Джуниор
 
Регистрация: 12.11.2019
Сообщений: 2
По умолчанию

Благодарю вас!
Julie123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сопроводительный файл вспомогательного частично-русскоязычного программирования на ассемблере процессора IBM 8086 среды MS DOS под Windows XP с препроцессором системы РР18 ВладОдес Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 28.12.2018 10:45
Лабораторная работа(очень простая) Структуры, работа с файлами yurda Фриланс 2 11.06.2016 08:44
Работа с ems api: корректная работа только при явном указании города mrdemkin JavaScript, Ajax 3 02.03.2015 18:23
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00