Bonjour,
J'essaye de comprendre la librairie <limits> en C++ pour les doubles :
Affichage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int main() { std::cout.precision(10000); std::cout << "sizeof(double) = " << sizeof(double) << std::endl; std::cout << "sizeof(std::numeric_limits<double>::max()) = " << sizeof(std::numeric_limits<double>::max()) << std::endl; std::cout << "sizeof(std::numeric_limits<double>::min()) = " << sizeof(std::numeric_limits<double>::min()) << std::endl; std::cout << "max = " << std::numeric_limits<double>::max() << std::endl; std::cout << "min = " << std::numeric_limits<double>::min() << std::endl; }
Comment peut-on avoir une telle précision avec autant de chiffres sur 8 octets ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sizeof(double) = 8 sizeof(std::numeric_limits<double>::max()) = 8 sizeof(std::numeric_limits<double>::min()) = 8 max = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 min = 2.225073858507201383090232717332404064219215980462331830553327416887204434813918195854283159012511020564067339731035811005152434161553460108856012385377718821130777993532002330479610147442583636071921565046942503734208375250806650616658158948720491179968591639648500635908770118304874799780887753749949451580451605050915399856582470818645113537935804992115981085766051992433352114352390148795699609591288891602992641511063466313393663477586513029371762047325631781485664350872122828637642044846811407613911477062801689853244110024161447421618567166150540154285084716752901903161322778896729707373123334086988983175067838846926092773977972858659654941091369095406136467568702398678315290680984617210924625396728515625e-308
Autres questions : Peut-on m'expliquer clairement à quoi correspond :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::numeric_limits<double>::max() std::numeric_limits<double>::min() std::numeric_limits<double>::epsilon() std::numeric_limits<double>::dernorm_min() std::numeric_limits<double>::infinity()
Partager