powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / переполнение int
5 сообщений из 5, страница 1 из 1
переполнение int
    #32877024
crzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прымитив:

long k=3333333333;

printf("%u\n",k);
printf("%d\n",k);


3333333333
-961633963

каким образом происходит переполнение?
(то есть что происходит на самом деле с 3333333333 ?)
...
Рейтинг: 0 / 0
переполнение int
    #32877061
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нет тут никакого переполнения. Функции print Вы передаете ссылку на 4 байта памяти. 0-й бит старшего байта установлен в 1, стало быть в случае беззнакового целого вы получите число больше чем 2 147 483 648, а для знакового целого это означает, что число отрицательное. Вот и все.
...
Рейтинг: 0 / 0
переполнение int
    #32877116
crzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, я наверное немножко неправильно объяснил.
Компилятор говорит
warning: decimal constant is so large that it is unsigned
я так понимаю, как раз об этом предупредил компилятор :-)

В общем, по вышестоящему примеру как сделать ручками такое
преобразование 3333333333 в -961633963
(но без приведения типов?)
...
Рейтинг: 0 / 0
переполнение int
    #32877791
crzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как все-таки сделать?
...
Рейтинг: 0 / 0
переполнение int
    #32878086
crzy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри, уже врубился :)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / переполнение int
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]