35 0 R /Type /Annot >> Thus a modifier strictfp was introduced to enforce strict IEEE 754 computations. Active 8 years, 8 months ago. << /Contents 86 0 R /Border [ 0 Thus, numbers are written very differently in IEEE 754 than in the traditional decimal system that we are used to. 841.8898 ] 229.9469 The IEEE 754 standard specifies a binary64 as having: The sign bit determines the sign of the number (including when this number is zero, which is signed). /Subtype /Link /Subtype /Link << /A << /S /URI 0 /URI (http://en.wikipedia.org/w/index.php?title=Standardization) >> /Border [ 0 C and C++ offer a wide variety of arithmetic types. /Type /Action 602.9469 /Type /Annot >> /URI (http://en.wikipedia.org/w/index.php?title=Minifloat) >> 0 /MediaBox [ 0 117.7056 /Type /XObject 190.1729 /ColorSpace /DeviceRGB /Rect [ 218.6453 [YPgdJdg*5a>);g3li-@EO&/X29Vch5=))S\((W^R1:KFn/GjqIc^6A,n:#k?.q54Qst63n`f&7$@HTmo<663n`fYW2SKJ%C+QKFgJ[*endstream /FlateDecode ] 841.8898 ] 50 0 obj 83.52097 ] /Subtype /Link /Type /Annot >> % 'Annot.NUMBER12': class PDFDictionary 617.9469 ] /Rect [ 190.1229 120.8029 Double-precision binary floating-point is a commonly used format on PCs, due to its wider range over single-precision floating point, in spite of its performance and bandwidth cost. << /A << /S /URI /Type /Action /Type /Action << /A << /S /URI 532.5827 % 'Annot.NUMBER17': class PDFDictionary 0 ] Between 252=4,503,599,627,370,496 and 253=9,007,199,254,740,992 the representable numbers are exactly the integers. /Type /Action /Type /Annot >> 0 /Type /Annot >> 11 0 obj /Border [ 0 0 18 0 obj /URI (http://en.wikipedia.org/w/index.php?title=Integer) >> 667.9469 ] 0 /URI (http://en.wikipedia.org/w/index.php?title=Computing) >> �ү�+� 602.9469 /Rect [ 218.6453 /Dest [ 42 0 R 598.7852 ] % 'Annot.NUMBER3': class PDFDictionary /Subtype /Link /Border [ 0 /Rect [ 74.69291 /Type /Action 598.7852 ] /URI (http://en.wikipedia.org/w/index.php?title=Single_precision) >> /Subtype /Link << /Annots [ 53 0 R ] /ImageB /Rotate 0 617.9469 ] /ProcSet [ /PDF 574.7852 ] /Type /Action If a decimal string with at most 15 significant digits is converted to IEEE 754 double-precision representation, and then converted back to a decimal string with the same number of digits, the final result should match the original string. 14 0 R /Filter [ /ASCII85Decode /Width 343 >> /URI (http://en.wikipedia.org/w/index.php?title=File:IEEE_754_Double_Floating_Point_Format.svg) >> endobj /Border [ 0 14 0 obj 3 0 R /Rect [ 218.6453 A number in 64 bit double precision IEEE 754 binary floating point standard representation requires three building elements: sign (it takes 1 bit and it's either 0 for positive or 1 for negative numbers), exponent (11 bits), mantissa (52 bits) /Type /Annot >> /Text /Type /Annot >> /Contents () 90.46291 0 ] % 'Annot.NUMBER40': class PDFDictionary 0 ] /Type /Annot >> Double precision (64 bits): Binary: Status: Bit 63 Sign Bit 0: + 1: - Bits 62 - 52 Exponent Field Decimal value of exponent field and exponent - 1023 = /Border [ 0 0 0 /Subtype /Link 595.2756 /Type /Action endobj /Type /Annot >> 574.7852 ] endobj endobj 244.9469 ] << /A << /S /URI stream % 'Annot.NUMBER16': class PDFDictionary << /BaseFont /Helvetica /Rect [ 62.69291 /Subtype /Link /Type /Action 0 ] 574.7852 255.8783 0 ] /Filter [ /ASCII85Decode /Rect [ 155.1729 0 ] 0 ] /Type /Annot >> /Rect [ 362.0794 endobj 562.7852 /Rect [ 316.1333 /Rect [ 207.4029 /FlateDecode ] endobj /Type /Annot >> 0 ] A number in 64 bit double precision IEEE 754 binary floating point standard representation requires three building elements: sign (it takes 1 bit and it's either 0 for positive or 1 for negative numbers), exponent (11 bits), mantissa (52 bits) /Subtype /Link /FlateDecode ] /Border [ 0 Dans l' IEEE 754-2008 norme, le format de base 2 64 bits est officiellement appelé binary64; il a été appelé double dans IEEE 754-1985. % 'Annot.NUMBER14': class PDFDictionary /Rect [ 221.6075 158.0479 % 'Annot.NUMBER27': class PDFDictionary 700.9469 /URI (http://en.wikipedia.org/w/index.php?title=Floating_point) >> /F3+0 66 0 R << /A << /S /URI For example, when using NVIDIA's CUDA platform, calculations with double precision take, depending on a hardware, approximately 2 to 32 times as long to complete compared to those done using single precision.[4]. /URI (http://en.wikipedia.org/w/index.php?title=Bit) >> 0 << /A << /S /URI /Resources << /Font 1 0 R One of the first programming languages to provide single- and double-precision floating-point data types was Fortran. endobj /ImageI ] /Trans << >> /Rect [ 175.0279 stream 587.9469 /Type /Action /URI (http://en.wikipedia.org/w/index.php?title=Single_precision_floating-point_format) >> 0 0 5 0 R endobj endobj 42 0 obj % 'Annot.NUMBER9': class PDFDictionary /Rect [ 95.46291 /ImageI ] >> 730.9469 0 << /A << /S /URI /Rect [ 491.6292 0 ] /Border [ 0 % 'Annot.NUMBER37': class PDFDictionary 47 0 obj /URI (http://en.wikipedia.org/w/index.php?title=Infinity) >> 425.1209 [2,a["DZaoK,'YT*9fDN.14Mbjjb@1)P]c^Nu`Yq&dM]5/5L!qr(q2/d&1YNCt'@i*,rb$+bUCn#U+j463n`f&E;UiqlY3G~>endstream /Type /Action 188.2229 730.9469 endobj /F2+0 62 0 R endobj endobj /Border [ 0 /Border [ 0 << /A << /S /URI Double precision may be chosen when the range or precision of single precision would be insufficient. 29 0 R /Rect [ 225.4329 /Border [ 0 It is implemented with arbitrary-precision arithmetic, so its conversions are correctly rounded. /F6+0 74 0 R >> /Filter [ /ASCII85Decode /URI (http://en.wikipedia.org/w/index.php?title=Fixed_point_number) >> 0 586.7852 ] endobj endobj 0 ] 562.7852 ] 24 0 R 6 0 obj endobj 0 /Type /Annot >> /URI (http://en.wikipedia.org/w/index.php?title=64-bit) >>