Вы, наверное, знали об этом, но можете делать буквальные числа с плавающей запятой / длинные удвоения.
float f = 4.0f;
long double f = 4.0l;
Двойное значение по умолчанию, потому что это то, что использует большинство людей. Длинные удвоения могут быть излишними, а поплавки имеют очень плохую точность. Double работает практически для всех приложений.
Почему именно именование? Однажды все, что у нас было, были 32-битные числа с плавающей запятой (ну, на самом деле все, что у нас было, это числа с фиксированной запятой, но я отвлекся). В любом случае, когда плавающая точка стала популярной функцией в современных архитектурах, C, вероятно, был языком dujour, и ему было дано название «float». Казалось, имеет смысл.
В то время можно было подумать о double, но на самом деле он не был реализован в процессорах cpu / fp того времени, которые были 16- или 32-битными. Когда двойник стал использоваться в большем количестве архитектур, C, вероятно, дошел до его добавления. C нужно было какое-то имя для чего-то вдвое большего размера, чем поплавок, поэтому мы получили двойное. Потом кому-то понадобилась еще большая точность, мы подумали, что он сумасшедший. Мы все равно добавили его. Имя четверка (?) Было излишним. Длинный дубль был достаточно хорош, и никто не наделал много шума.
Отчасти путаница заключается в том, что доброе "int", кажется, со временем меняется. Раньше «int» означало 16-битное целое число. Однако число с плавающей запятой привязано к стандарту IEEE как 32-битное число с плавающей запятой IEEE. По этой причине C сохранил значение с плавающей запятой, определяемое как 32-битное, и сделал double и long double для ссылки на более длинные стандарты.
person
Doug T.
schedule
29.12.2008
<float.h>
, в частности с такими вещами, как FLT_DIG (я думаю, что он гарантированно может представлять 5 десятичных цифр, то есть целые числа от 0 до 99999). - person tc.   schedule 24.07.2012