рдХреНрдпрд╛ рд╣реИ -1 # IND рдФрд░ -1ред # J?


рдХрд┐рд╕реА рднреА рдЕрдиреБрднрд╡реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рд╡реИрд▓реНрдпреВ ( 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-.


Source: https://habr.com/ru/post/In171203/


All Articles