Стандарт доступен здесь . Возможно, вам придется его купить, поскольку IEEE (и другие подобные организации) в основном зарабатывают деньги, продавая стандарт, чтобы покрыть свои расходы на сборку, лоббирование и принятие стандартов.
Биты означают только то, что кто-то определяет им как
«Когда я использую слово, - сказал Шалтай-Болтай довольно презрительным тоном, - это
означает только то, что я выбрал, чтобы иметь в виду - ни больше, ни меньше ".
вопрос, "сказала Алиса," можете ли вы сделать так, чтобы слова означали так много
разные вещи. "" Вопрос в том, "сказал Шалтай-Болтай," который должен
быть хозяином - и все. "(Зазеркалье, глава 6)
В этом случае IEEE решил, что означают эти биты, и причина того, что флаг printf% f выводит соответствующее соответствующее человеческое представление, связана с тем, что флаг также следует тому же стандарту.
Иногда вам удается преобразовать биты в другой тип данных (например, int) и распечатать «другое» представление этих битов. C поймает много обычных продвижений по номерам, но вы можете запутать это, как правило, с помощью назначения указателя неправильного типа на правильный адрес (и разыменования их).
Обратите внимание, что, пока вы выполняете математику вручную, не гарантируется, что реальное оборудование выполнит математику точно так же, как вы. С целочисленной математикой в представлении намного больше точности, но с математикой с плавающей запятой, то, как вы округляете число, имеет большое значение в выводе. Это даже не упоминает ошибки с плавающей запятой, которые иногда записывались в системы (к счастью, не часто).