рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ, рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ

рдкреНрд░рдХрд╛рд╢рди рдХреЗ рдмрд╛рдж рд▓реЗрдЦ PostgreSQL рдореЗрдВ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереАред рдореИрдВрдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдХрд┐рддрдиреА рдмрд╛рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдкрд▓рдмреНрдз SQL рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдХреЛрдб рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣рдореЗрд╢рд╛ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рдЦрддрд░реЛрдВ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╣реИ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрдВрдЯрд░рдиреЗрдЯ рдФрд░ рд╣реИрдмреЗ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЪреНрдЫреЗ рд▓реЗрдЦ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ PostgreSQL рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЙрдирд╕реЗ рдЬреБрдбрд╝реА рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛, рддрд╛рдХрд┐ SQL рдХреНрд╡реЗрд░реА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдирд╕реЗ рдмрдЪрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПред

PostgreSQL рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ: "рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдФрд░ рдЧрдгрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЙрдирдХрд╛ рдкреНрд░рд╕рд╛рд░ рдЧрдгрд┐рдд рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХреА рдкреВрд░реА рд╢рд╛рдЦрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рдФрд░ рдЗрд╕реЗ рдпрд╣рд╛рдВ рдХрд╡рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ" (рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдкрд╛рдардХ рдХреЛ IEEE 754 рдорд╛рдирдХ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реБрдП)ред рдпрд╣рд╛рдБ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЖрд╢рдп рд╣реИ? рдЖрдЗрдП рдЙрди рдкрд░ рдХреНрд░рдо рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ, рдФрд░ рдпрд╣ рдЬрд▓реНрдж рд╣реА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдореИрдВрдиреЗ рдлрд┐рд░ рд╕реЗ рдХрд▓рдо рдХреНрдпреЛрдВ рдЙрдард╛рдпрд╛ред

рдЖрдЗрдП рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдиреБрд░реЛрдз рд▓реЗрдВ:

********* ╨Ч╨Р╨Я╨а╨Ю╨б *********
SELECT 0.1::REAL;
**************************
float4
--------
    0.1
(1 ╤Б╤В╤А╨╛╨║╨░)

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдХреБрдЫ рдЦрд╛рд╕ рдирд╣реАрдВ рджрд┐рдЦреЗрдЧрд╛ - рд╣рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд 0.1 рдорд┐рд▓реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рдЖрдЗрдП рдЗрд╕рдХреА рддреБрд▓рдирд╛ 0.1 рд╕реЗ рдХрд░реЗрдВ:

********* ╨Ч╨Р╨Я╨а╨Ю╨б *********
SELECT 0.1::REAL = 0.1;
**************************
?column?
----------
f
(1 ╤Б╤В╤А╨╛╨║╨░)

рд╕рдо рдирд╣реА! рдХреНрдпрд╛ рдЪрдорддреНрдХрд╛рд░! рд▓реЗрдХрд┐рди рдЖрдЧреЗ, рдФрд░ рднреАред рдХреЛрдИ рдХрд╣реЗрдЧрд╛, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ REAL рднрд┐рдиреНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмреБрд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣рд╛рдВ рдкреВрд░реНрдгрд╛рдВрдХ рджрд░реНрдЬ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдареАрдХ рд╣реИ, рдЖрдЗрдП рд╕рдВрдЦреНрдпрд╛ 123 рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЗрдВ рдбрд╛рд▓реЗрдВ:

********* ╨Ч╨Р╨Я╨а╨Ю╨б *********
SELECT 123456789::REAL::INT;
**************************
   int4   
-----------
123456792
(1 ╤Б╤В╤А╨╛╨║╨░)

рдФрд░ рдпрд╣ 3 рдФрд░ рдирд┐рдХрд▓рд╛! рдмрд╕, рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрдЦрд╝рд┐рд░рдХрд╛рд░ рдЧрд┐рдирддреА рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ рд╣реИ! рдпрд╛ рд╣рдо рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ? рдЖрдЗрдП рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдореИрдЯрд░рд┐рдпрд▓ рдХреЛ рдпрд╛рдж рдХрд░реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХрд┐рд╕реА рднреА рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджрд╕ рдХреА рдШрд╛рддреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреЛ, рд╕рдВрдЦреНрдпрд╛ 123.456 1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + тАЛтАЛ6*10-3 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред рд▓реЗрдХрд┐рди рдХрдВрдкреНрдпреВрдЯрд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдмрд╛рдЗрдирд░реА рд░реВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рджреЛ рдХреА рдШрд╛рддреЛрдВ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдмрд╛рдЗрдирд░реА рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ 5.625 рдХреЛ 101.101 рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ 1*22 + 0*21 + 1*20 + 1*2-1 + 0*2-2 + 1*2-3 рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреАред рдФрд░ рдпрджрд┐ рджреЛ рдХреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдШрд╛рддреЗрдВ рд╣рдореЗрд╢рд╛ рдкреВрд░реНрдг рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛рдПрдБ (1, 2, 4, 8, 16, рдЖрджрд┐) рджреЗрддреА рд╣реИрдВ, рддреЛ рдирдХрд╛рд░рд╛рддреНрдордХ рдШрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ (0.5, 0.25, 0.125, 0,0625, рдЖрджрд┐)ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рджрд╢рдорд▓рд╡ рдХреЛ рдПрдХ рдкрд░рд┐рдорд┐рдд рдмрд╛рдЗрдирд░реА рдЕрдВрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдмрд╛рдЗрдирд░реА рдЕрдВрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдорд╛рд░рд╛ рдХреБрдЦреНрдпрд╛рдд 0.1 рдЖрд╡рдзрд┐рдХ рдорд╛рди 0.0(0011) рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдВрддрд┐рдо рдорд╛рди рдмрд┐рдЯ рдЧрд╣рд░рд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред

рдЕрдм рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдореЛрд░реА рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рддреАрди рдореБрдЦреНрдп рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ - рдЪрд┐рд╣реНрди, рдордВрдЯрд┐рд╕рд╛ рдФрд░ рдШрд╛рддрд╛рдВрдХред рдЪрд┐рд╣реНрди рдкреНрд▓рд╕ рдпрд╛ рдорд╛рдЗрдирд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд┐рдЯ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдордВрдЯрд┐рд╕рд╛ рдФрд░ рдПрдХреНрд╕рдкреЛрдиреЗрдВрдЯ рдХреЗ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред рддреЛ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдордВрдЯрд┐рд╕рд╛ рдХреА рд▓рдВрдмрд╛рдИ 23 рдмрд┐рдЯ рд╣реИ (1 рдХреЗ рдмрд░рд╛рдмрд░ рдПрдХ рдмрд┐рдЯ рдХреЛ рдордВрдЯрд┐рд╕рд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдо 24 рд╣реИ), рдФрд░ рдШрд╛рддрд╛рдВрдХ 8 рдмрд┐рдЯ рд╣реИред рдХреБрд▓ 32 рдмрд┐рдЯреНрд╕ рдпрд╛ 4 рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВред рдФрд░ рдбрдмрд▓ рдкреНрд░рд┐рд╕рд┐рдЬрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рдордВрдЯрд┐рд╕рд╛ рдХреА рд▓рдВрдмрд╛рдИ 52 рдмрд┐рдЯреНрд╕ рд╣реЛрдЧреА, рдФрд░ рдШрд╛рддрд╛рдВрдХ 11 рдмрд┐рдЯреНрд╕ рд╣реЛрдЧрд╛, рдХреБрд▓ 64 рдмрд┐рдЯреНрд╕ рдпрд╛ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдПред PostgreSQL рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЖрдЗрдП рдЕрдкрдиреА рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ 0.1 рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рджреЛрд╣рд░реЗ рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдкреИрдХ рдХрд░реЗрдВред рдЪреВрдБрдХрд┐ рдШрд╛рддрд╛рдВрдХ рдХрд╛ рдЪрд┐рдиреНрд╣ рдФрд░ рдорд╛рди рд╕рдорд╛рди рд╣реИрдВ, рд╣рдо рдордВрдЯрд┐рд╕рд╛ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ (рдореИрдВ рдЬрд╛рдирдмреВрдЭрдХрд░ рдШрд╛рддрд╛рдВрдХ рдФрд░ рд╢реВрдиреНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдБ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдордЭрдиреЗ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рднрдЯрдХрд╛рддреЗ рд╣реИрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдпрджрд┐ рд░реБрдЪрд┐ рд╣реЛ, рддреЛ рдЖрдИрдИрдИрдИ 754 рдорд╛рдирдХ рджреЗрдЦреЗрдВ)ред рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛? рд╢реАрд░реНрд╖ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдореИрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП "рдореЗрдВрдЯрд┐рд╕рд╛" рджреВрдВрдЧрд╛ (рдирд┐рдХрдЯрддрдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдпреЛрдЧреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рдмрд┐рдЯ рдХреЛ 1 рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХрд┐рдд рдХрд░рдиреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЕрдиреНрдпрдерд╛ рдпрд╣ 0.099999 рд╣реЛрдЧрд╛...), рдФрд░ рдирд┐рдЪрд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ - рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░реА рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдкреНрд░рдХрд╛рд░:

0.000110011001100110011001101
0.00011001100110011001100110011001100110011001100110011001

рдЬрд╛рд╣рд┐рд░ рд╣реИ рдпреЗ рджреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реИрдВ! рдЗрд╕рд▓рд┐рдП, рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╕рдордп, рдкрд╣рд▓реА рд╕рдВрдЦреНрдпрд╛ рд╢реВрдиреНрдп рд╕реЗ рднрд░реА рд╣реЛрдЧреА рдФрд░ рдЗрд╕рд▓рд┐рдП, рджреВрд╕рд░реА рд╕реЗ рдмрдбрд╝реА рд╣реЛрдЧреА (рдкреВрд░реНрдгрд╛рдВрдХрди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП - рдмреЛрд▓реНрдб рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд)ред рдпрд╣ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ 0.1 рдХреЛ рдбрдмрд▓ рдкреНрд░рд┐рд╕рд┐рдЬрди рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред рджреЛрдиреЛрдВ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛ рдЧрдП рд╣реИрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдКрдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВред рдЖрдЗрдП рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЬрд╛рдП:

********* ╨Ч╨Р╨Я╨а╨Ю╨б *********
SELECT 0.1::REAL > 0.1::DOUBLE PRECISION;
**************************
?column?
----------
t
(1 ╤Б╤В╤А╨╛╨║╨░)

рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛ 0.1 рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рджреЛрд╣рд░реА рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ рдореЗрдВ рджреЛрд╣рд░рд╛рдиреЗ рд╕реЗ, рд╣рдореЗрдВ рдкрд╣реЗрд▓реА рдХрд╛ рдЙрддреНрддрд░ рдорд┐рд▓рддрд╛ рд╣реИ:

********* ╨Ч╨Р╨Я╨а╨Ю╨б *********
SELECT 0.1::REAL::DOUBLE PRECISION;
**************************

      float8       
-------------------
0.100000001490116
(1 ╤Б╤В╤А╨╛╨║╨░)

рдпрд╣ рдЙрдкрд░реЛрдХреНрдд рддреАрд╕рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреА рднреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рд╕рдВрдЦреНрдпрд╛ 123 рд╕рд░рд▓ рд╣реИ рдордВрдЯрд┐рд╕рд╛ рдХреЛ 24 рдмрд┐рдЯреНрд╕ рдореЗрдВ рдлрд┐рдЯ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ (23 рд╕реНрдкрд╖реНрдЯ + 1 рдирд┐рд╣рд┐рдд)ред рдЕрдзрд┐рдХрддрдо рдкреВрд░реНрдгрд╛рдВрдХ рдЬреЛ 24 рдмрд┐рдЯреНрд╕ рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ 224-1 = 16 рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реА рд╕рдВрдЦреНрдпрд╛ 777 рдХреЛ рдирд┐рдХрдЯрддрдо рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдпреЛрдЧреНрдп 215 рддрдХ рдкреВрд░реНрдгрд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░ рдХреЛ рдбрдмрд▓ рдкреНрд░рд┐рд╕рд┐рдЬрди рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ, рд╣рдо рдЕрдм рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддреЗ рд╣реИрдВ:

********* ╨Ч╨Р╨Я╨а╨Ю╨б *********
SELECT 123456789::DOUBLE PRECISION::INT;
**************************
   int4   
-----------
123456789
(1 ╤Б╤В╤А╨╛╨║╨░)

рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдЪрдорддреНрдХрд╛рд░ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд░реНрдгрд┐рдд рд╣рд░ рдЪреАрдЬрд╝ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд┐рддрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рд╛рдн рд╕рдЯреАрдХрддрд╛ рдХреА рдЬреНрдЮрд╛рдд рд╣рд╛рдирд┐ рдХреЗ рд╕рд╛рде рдЧрдгрдирд╛ рдХреА рдЧрддрд┐ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдХреЛ рдЙрдЪрд┐рдд рдард╣рд░рд╛рдПрдЧрд╛? рд╕реЛрдЪреЛ рдордд.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ