[Ответить в тред] Ответить в тред

09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)
25/09/16 - Персональное обращение Абу - СБОР ПОЖЕРТВОВАНИЙ НА ДВАЧ


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 22 | 1 | 11
Назад Вниз Каталог Обновить

Объясните дурачку Аноним (Microsoft Windows 10: Chromium based) # OP  29/09/16 Чтв 21:34:11  1859693  
14751740517970.png (11Кб, 379x313)
почему на выходе имеем нули вместо 732.00000???
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 21:37:26  1859696
хотел вывести любой целый тип принтэфом через спецификатор для плавающих и столкнулся с нулями, хочу узнать почему так, на молекулярном уровне
Аноним (Microsoft Windows 7: Firefox based) 29/09/16 Чтв 21:45:13  1859704
>>1859696
Потому что ты %f написал, долбаёб.
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 21:54:46  1859714
>>1859704
я ска в курсе, а почему так происходит то, поясни
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 21:58:44  1859717
бамп
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 21:59:18  1859718
бамп
Аноним (Microsoft Windows 7: Firefox based) 29/09/16 Чтв 21:59:25  1859719
>>1859714
Потому что создатели языка решили, что нужен модификатор для десятичного числа с плавающей точкой и сделали для него текстовое обозначение в виде %f

не занимайся программированием
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 22:03:22  1859723
>>1859719
ало, читать умеешь? я спросил почему так происходит, я знаю что для плавающих %f а для целых %d, как получаются нули на выходе? до меня препод в шараге доебался, а я объяснить не могу
Аноним (Microsoft Windows 7: Firefox based) 29/09/16 Чтв 22:04:39  1859724
>>1859723
НАХУЙ_СЪЕБАЛ_ОТСЮДА_ГНИЛЬ
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 22:07:28  1859725
>>1859724
мамка твоя гниль
чо ты пояснить то не можешь, тупой чтоле?
Аноним (Microsoft Windows XP: Firefox based) 29/09/16 Чтв 22:24:44  1859736
>>1859723
Преборазования типов? Нет не слышал.
Аноним (Microsoft Windows 7: Firefox based) 29/09/16 Чтв 22:25:44  1859738
>>1859725
такой неотёсанной свинье что-то пояснить?
упаси Господь
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 22:38:03  1859741
гспди, мне всего то нужно понять как работает этот код, я не ставлю цель вывести переменную правильно, мне не нужны преобразования типов и проч. я хочу разобраться что происходит в принтэфе, как он выводит эту переменную, по сути он что %f, что %d должен брать со стека 4 байта но интерпритировать их по разному(тобишь целое или плавающее) но происходит то что я понять не могу
Аноним (Linux: Chromium based) 29/09/16 Чтв 23:12:17  1859749
>>1859693 (OP)
Ты разделом ошибся, мань. В /pr/ тебе объяснят почему у <название_говноязыка_погроммирования>, работает все через жопу и почему это лучшее решение в мире. В /s/ сидят нормальные люди, которые используют пограммирование исключительно с практической стороны.
Аноним (Microsoft Windows 10: Chromium based) 29/09/16 Чтв 23:24:12  1859755
>>1859749
единственный годный ответ, спасибо, а то эти дурачки бестолковые только срать могут :D
Аноним (Google Android: Неизвестно) 30/09/16 Птн 01:27:29  1859782
>>1859755
Блять, неужели не догнать, что принтф не умеет в приведение типов и при попытке обработать инт как флоат сразу завершает работу? Посмотри код vprintf гнутой, она вызывается гнутым принтф.
Чтобы твое говно сработало, тебе надо самому привести тип к флоат.
Аноним (Google Android: Неизвестно) 30/09/16 Птн 01:33:19  1859783
>>1859782
Вот тебе еще в догонку, прямо из гугла.
...if type is not compatible with the type of the actual next argument (as promoted according to the default argument promotions), the behavior is undefined, except for the following cases: — one type is a signed integer type, the other type is the corresponding unsigned integer type, and the value is representable in both types; — one type is pointer to void and the other is a pointer to a character type.
Пиздец ты тугой.
Аноним (Microsoft Windows 8: Chromium based) 30/09/16 Птн 02:49:25  1859791
>>1859741
>я хочу разобраться что происходит в принтэфе, как он выводит эту переменную
google -> printf source code. Дальше сам
Аноним (Google Android: Firefox based) 30/09/16 Птн 03:36:35  1859799
>>1859693 (OP)
потому что ты не все цифры вывел. float и int имеют размер по 4 байта, старший бит - знак (он у тебя +), экспонента и мантисса. Экспонента у тебя 0, значит число в денормализованной форме. Просто ты не вывел значащие биты.
Аноним (Неизвестно: Lynx) 30/09/16 Птн 14:40:54  1859833

test
Аноним (Linux: Firefox based) 15/10/16 Суб 00:21:57  1867349
cout << (float)a << endl;
Аноним (Microsoft Windows 10: Chromium based) 15/10/16 Суб 00:53:35  1867359
>>1859693 (OP)
1. https://2ch.pm/pr
2. sage
Аноним (Microsoft Windows 7: Firefox based) 15/10/16 Суб 21:38:13  1867710
>>1859723
В памяти целые числа и числа с плавающей точкой хранятся в разных двоичных форматах. Чтобы работать быстро а получается все равно медленно форматирование printf занимается байтоебством, и рассчитывает что ты её не наебешь с типами. Ты пользуешь функцию неправильно >> на выходе получаешь хуйню, все правильно. Компилятор это должен прожевать, так как синтаксически все верно, но скорее всего напишет тебе варн но ты - мудак, и проигноришь его.
алсо, printf - это поток вывода в стиле си возможно этого от тебя и требует олдфаг-препод, мужики если делают это на C++, пишут через std::cout.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 22 | 1 | 11
Назад Вверх Каталог Обновить

Топ тредов
Избранное