В С++ (и C) литерал с плавающей запятой без суффикса по умолчанию равен double
, тогда как суффикс f
подразумевает float
. Но что такое суффикс, чтобы получить long double
?
Не зная, я бы определил, скажем,
const long double x = 3.14159265358979323846264338328;
Но я беспокоюсь, что переменная x
содержит меньше значащих бит 3.14159265358979323846264338328
, чем 64, потому что это литерал double
. Является ли это беспокойство оправданным?