![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
alnight |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.11.2012 Репутация: нет Всего: нет |
Всем привет.
Возник вопрос относительно вывода числа в С. Вопрос из разряда не "как сделать", а "почему работает именно так". Скажите, почему
выводит ноль? Если после запятой другая цифра - тоже самое. Я, конечно, понимаю, что слева целочисленный тип ожидается, а справа вещественный, но разве не должно идти просто отбрасывание дробной части? |
|||
|
||||
vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 8 Всего: 56 |
Так что при неправильном использовании строки формата исполняемая среда умывает руки. |
|||
|
||||
Silent |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 3.10.2006 Репутация: 1 Всего: 9 |
Потому что это C++
![]() Для процедуры printf параметры передаются по стеку, float как float, int как int. Соответственно, если мы кладем float (вспомним про представление дробных чисел с их мантиссами и экспонентами), а говорим print'у забирать как int - то и получаем то что видим. Приведение типов он сам делать не будет. Еще пример:
делайте без выстрелов себе в ногу:
|
||||
|
|||||
alnight |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.11.2012 Репутация: нет Всего: нет |
Да, но ведь 11.22 в экспоненциальной форме 1.122Е+1.
Откуда же получается -536870912 (или 0x2000 0000)? Мантисса-то 0x01. |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
В двоичной системе? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
ну тогда уж
Добавлено @ 00:56 ![]() ждёмс нашего истеричного друга (как-то там o2...и другие буквы-цифры), чтобы он сказал как нам нужно правильно жить ))) Добавлено @ 00:57 Кстати, прошу прощения за оффтоп, но почему ему ещё до сих пор не организовали "баню" (и не на пару дней, а навсегда) ? Он кому-то платит, что-ли ? Это сообщение отредактировал(а) borisbn - 20.10.2013, 01:01 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Ну зачем так сразу. Он пишет с нового форума, а там ещё подходящий функционал не реализован... Это сообщение отредактировал(а) feodorv - 20.10.2013, 02:34 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
alnight |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.11.2012 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 12 Всего: 45 |
Как намекнул volatile: а для %d считываются только 4 байта из этих восьми от double. Можно считать всё:
-------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |