0.3 - 0.2 - 0.1 == 0.0

 

0.3 - 0.2 - 0.1 != 0.0

 

0.3 - 0.2 - 0.1 -eq 0.0

 

0.3 - 0.2 - 0.1 -ne 0.0

 

PowerShell 뿐만 아니라 배정말도 부동소수점수(IEEE754-1987 포맷) 계산에서는 

십진수로 유효수자(sifnificant digits) 개수가 약 15개 밖에 안되므로

모든 소수점수를 근사값으로 계산한다. (mantissa 가 52bit, 부호가 1bit, 지수부가 11bit 로 총 64bit 즉, 8byte)

 

 

 

 



        Byte 7     Byte 6      Byte 5    Byte 4      Byte 3    Byte 2     Byte 1    Byte 0                                                                       Byte 0
       --------   --------   --------   --------   --------   --------   --------   --------
          6            5            4               3           2              1
       32109876   54321098   76543210   98765432   10987654   32109876   54321098   76543210 
       ========   ========   ========   ========   ========   ========   ========   ========
       snnnnnnn   nnnnbbbb   bbbbbbbb   bbbbbbbb   bbbbbbbb   bbbbbbbb   bbbbbbbb   bbbbbbbb
       ========   ========   ========   ========   ========   ========   ========   ========
       S    Exponent           Mantissa
      63[    62 ~ 52 ][         51 ~ 0                                                    ]
      
      
      
                   (Sign) (1.bbbbb....bbbbb)_2 * pow(2, (nnnnnnnnnnn)_2 - 307)
                     +/-     1 bit + 53 bits                22 bits       bias
                            -----------------
                                54 bits
                                   
       -

 

 

Posted by Scripter
,