Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185

Неправильно выводится максимальное значение

23.09.2012, 10:09. Показов 1593. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне не понятно, почему мне максимальное значение выводит -1, а минимальное 0, когда максимальное должно быть 4 294 967 295?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main()
{
    //переменная для типов данных
    unsigned int x;
 
//unsigned int
    for(x=0; ;x--) {
        if(x>0) {
        printf("4). unsigned int max: %d", x);
            x++;
        printf(" min: %d", x);
            break;
        }
    }//-------------------------------------------------
 
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.09.2012, 10:09
Ответы с готовыми решениями:

Неправильно выводится значение максимального элемента строки
Подскажите пожалуйста , из за чего не выводит правильно значение максимального элемента строки int main () { int mas; int...

Неправильно выводится массив
Вчем проблема , не выводится правильно массив ? #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; int _tmain(int argc, _TCHAR* argv)...

Численное решение задачи Коши, результат выводится неправильно
не понимаю в чем проблема задание было такое Построить алгоритмы численного решения задачи Коши явным, неявным методом ...

5
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.09.2012, 10:26
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

%d подразумевает знаковое целое. Попробуй использовать %u или %ul
2
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
23.09.2012, 10:46  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
%d подразумевает знаковое целое. Попробуй использовать %u или %ul
Помогло, но всё же не понятно, почему у меня выводилось -1, когда минимальное значение типа unsigned int 0. Вот это мне действительно не понятно. Объясните почему это так
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.09.2012, 10:49
Там происходит неявное преобразование в тип signed int, получается примерно так: unsigned int a = 0; a--; (a == 4 294 967 295) int b = a; (b == -1)
0
21 / 9 / 0
Регистрация: 18.06.2011
Сообщений: 185
23.09.2012, 10:56  [ТС]
Цитата Сообщение от lazybiz Посмотреть сообщение
Там происходит неявное преобразование в тип signed int, получается примерно так: unsigned int a = 0; a--; (a == 4 294 967 295) int b = a; (b == -1)
Вот с этого момента поподробнее: int b = a; (b == -1) пожалуйста. Я ведь просто к максимальному значению типа unsigned int прибавил + 1, соответственно переменная принимает самое минимальное значение. Если к примеру использовать вместо unsigned int - unsigned char, то мой код работает превосходно и с %d
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
23.09.2012, 11:02
Тебе следует почитать о представлении данных в памяти.
Если представить число 0xffffffff как 32-битное знаковое (тип int), то получится -1.
если представить как 32-битное беззнаковое (тип unsigned int), то будет 4 294 967 295.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.09.2012, 11:02
Помогаю со студенческими работами здесь

Корректно выводится максимальное из чисел массива, но некорректно показывается его индекс
Номер максимального по модулю элемента массива #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; Int main() { ...

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

Неправильно находит максимальное значение элемента массива!
Неправильно находит максимальное значение элемента массива! Вроде программу сделал правильно, но неправильно находит максимальное значение...

Неправильно рассчитывается максимальное значение, в чем может быть ошибка?
не правильно считывает максимальное значение. в чем может быть ошибка? program zadanie2; uses crt; type mas = array of integer; ...

Найти максимальное значение среди элементов массива, которые делят максимальное значение без остатка
Дан целочисленный массив из n элементов. Элементы могут принимать целые значения от 1 до 500. Найдите максимальное значение среди...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru