
рдХрд┐рд╕реА рднреА рдЕрдиреБрднрд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╡реИрд▓реНрдпреВ (
IEEE 754 ) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ
рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рдУрдВ (NaN, not-a-number) рдХреЗ рд╕рдорд╛рди рдХрдИ рдЖрд░рдХреНрд╖рд┐рдд рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реА рдорд╛рдирдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреА рд╣реИ:
рдЫрдкрд╛ рд╣реИ | рдорд╛рдзреНрдпрдо |
---|
1.#INF | рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЕрдирдВрдд |
-1.#INF | рдирдХрд╛рд░рд╛рддреНрдордХ рдЕрдирдВрддрддрд╛ |
1.#SNAN | рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдХреЗрддрди рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛ (рд╕рдВрдХреЗрддрди NaN) |
-1.#SNAN | рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдХреЗрддрди рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛ (рд╕рдВрдХреЗрддрди NaN) |
1.#QNAN | рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЧреИрд░-рд╕рд┐рдЧреНрдирд▓ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛ (рд╢рд╛рдВрдд NaN) |
-1.#QNAN | рдирдХрд╛рд░рд╛рддреНрдордХ рдЧреИрд░-рд╕рд┐рдЧреНрдирд▓ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛ (рд╢рд╛рдВрдд NaN) |
1.#IND | рд╕рдХрд╛рд░рд╛рддреНрдордХ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ |
-1.#IND | рдирдХрд╛рд░рд╛рддреНрдордХ рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛ |
рдкреЙрдЬрд┐рдЯрд┐рд╡ рдФрд░ рдирд┐рдЧреЗрдЯрд┐рд╡ рдЗрдирдлрд┐рдирд┐рдЯреА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдУрд╡рд░рдлреНрд▓реЛ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реЛ, рдпрд╛ рдЬрдм рдкреЙрдЬрд┐рдЯрд┐рд╡ рд╢реВрдиреНрдп рд╕реЗ рдкреЙрдЬрд┐рдЯрд┐рд╡ рд▓реЗ рд░рд╣рд╛ рд╣реЛред (рдЖрдИрдИрдИрдИ рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрд┐рд╕реА рднреА рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╡реИрд▓реНрдпреВ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдХреЗрдд рд╣реИ - рди рдХреЗрд╡рд▓ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдФрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рдПрдВ рдореМрдЬреВрдж рд╣реИрдВ, рдмрд▓реНрдХрд┐ рджреЛ рд╢реВрдиреНрдп рднреА рд╣реИрдВред)
рд╕рд┐рдЧреНрдирд▓ рдФрд░ рдЧреИрд░-рд╕рд┐рдЧреНрдирд▓ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЧрдгрдирд╛ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЙрддреНрдкрдиреНрди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ
signaling_NaN()
quiet_NaN()
рдпрд╛
quiet_NaN()
std::numeric_limits. , -- " ", " " .. - -, .. , .
- , runtime- Visual C , . , , , : , 1.#INF -1.#INF
, . , -, -- . , . x86 - , .
(. .: , x86 -1.#INF
, -- -1.#IND
)
, - .
, 1.#J
:
double z = 0; printf("%.2f", 1/z);
1.#INF
, runtime- - . , - " 1.
" -- , . , " #I
", "" -- " N
" -- 5, "" " J
".
-- J, I, ?
- ; , , -- , , 1.#J
.
, () I ├Ь . 1.#INF
1.#├Ь
, ├╝ber-.
рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
std::numeric_limits. , -- " ", " " .. - -, .. , .
- , runtime- Visual C , . , , , : , 1.#INF -1.#INF
, . , -, -- . , . x86 - , .
(. .: , x86 -1.#INF
, -- -1.#IND
)
, - .
, 1.#J
:
double z = 0; printf("%.2f", 1/z);
1.#INF
, runtime- - . , - " 1.
" -- , . , " #I
", "" -- " N
" -- 5, "" " J
".
-- J, I, ?
- ; , , -- , , 1.#J
.
, () I ├Ь . 1.#INF
1.#├Ь
, ├╝ber-.
рд╡рд░реНрдЧ
std::numeric_limits. , -- " ", " " .. - -, .. , .
- , runtime- Visual C , . , , , : , 1.#INF -1.#INF
, . , -, -- . , . x86 - , .
(. .: , x86 -1.#INF
, -- -1.#IND
)
, - .
, 1.#J
:
double z = 0; printf("%.2f", 1/z);
1.#INF
, runtime- - . , - " 1.
" -- , . , " #I
", "" -- " N
" -- 5, "" " J
".
-- J, I, ?
- ; , , -- , , 1.#J
.
, () I ├Ь . 1.#INF
1.#├Ь
, ├╝ber-.
std::numeric_limits. , -- " ", " " .. - -, .. , .
- , runtime- Visual C , . , , , : , 1.#INF
-1.#INF
, . , -, -- . , . x86 - , .
(. .: , x86 -1.#INF
, -- -1.#IND
)
, - .
, 1.#J
:
double z = 0; printf("%.2f", 1/z);
1.#INF
, runtime- - . , - " 1.
" -- , . , " #I
", "" -- " N
" -- 5, "" " J
".
-- J, I, ?
- ; , , -- , , 1.#J
.
, () I ├Ь . 1.#INF
1.#├Ь
, ├╝ber-.
std::numeric_limits. , -- " ", " " .. - -, .. , .
- , runtime- Visual C , . , , , : , 1.#INF
-1.#INF
, . , -, -- . , . x86 - , .
(. .: , x86 -1.#INF
, -- -1.#IND
)
, - .
, 1.#J
:
double z = 0; printf("%.2f", 1/z);
1.#INF
, runtime- - . , - " 1.
" -- , . , " #I
", "" -- " N
" -- 5, "" " J
".
-- J, I, ?
- ; , , -- , , 1.#J
.
, () I ├Ь . 1.#INF
1.#├Ь
, ├╝ber-.
std::numeric_limits. , -- " ", " " .. - -, .. , .
- , runtime- Visual C , . , , , : , 1.#INF
-1.#INF
, . , -, -- . , . x86 - , .
(. .: , x86 -1.#INF
, -- -1.#IND
)
, - .
, 1.#J
:
double z = 0; printf("%.2f", 1/z);
1.#INF
, runtime- - . , - " 1.
" -- , . , " #I
", "" -- " N
" -- 5, "" " J
".
-- J, I, ?
- ; , , -- , , 1.#J
.
, () I ├Ь . 1.#INF
1.#├Ь
, ├╝ber-.