ПреамбулаПотребовалось перевести 1/6 в IEEE 754 single precision. Обычно, перевод перекладываю на плечи компилятора, но, на этот раз, пришлось переводить вручную с использованием Windows-калькулятора из стандартного набора программ 1/6=0,16666666666666666666666666666667 0,16666666666666666666666666666667 > 0 поэтому знак=0 вычисляю степень: log2(0,16666666666666666666666666666667) = lg(0,16666666666666666666666666666667)/lg(2) = -2,584962501 округляю -2,584962501 в меньшую сторону -3 степень в смещенном виде 127-3 = 124 = 11111002 подгоняю под 8 разрядов 011111002 вычисляю мантиссу: 23 разряда -(-3) (степень)=26 (0,16666666666666666666666666666667-2-3)× 226 = 0,04166666666666666666666666666667 × 67108864 = 2796202,6666666666666666666666669 ≈ 2796203 = 10101010101010101010112 подгоняю под 23 разряда 010101010101010101010112 собираю число: знак.степень.мантисса = 0.01111100.010101010101010101010112 = 0011.1110.0010.1010.1010.1010.1010.10112 = 3E2AAAAB16 И вот тут я обратил внимание на группы повторяющихся 0 и 1. 0.01111100.010101010101010101010112 Основная частьДвоичное представление дробей вида [math]\frac{M}{2^{N}-1}[/math] без вычислений на калькуляторе, возможно, кому-то пригодится 1/3 = 0,33333333333333333333333333333333 = 0,01.01.01.01.01.01.01.01.01.01.012 2/3 = 0,66666666666666666666666666666667 = 0,10.10.10.10.10.10.10.10.10.10.102 1/6 = 0,16666666666666666666666666666667 = 0,0.01.01.01.01.01.01.01.01.01.01.012 = (1/3)/2 1/7 = 0,14285714285714285714285714285714 = 0,001.001.001.001.001.001.001.0012 2/7 = 0,28571428571428571428571428571429 = 0,010.010.010.010.010.010.010.0102 3/7 = 0.42857142857142857142857142857143 = 0,011.011.011.011.011.011.011.0112 4/7 = 0,57142857142857142857142857142857 = 0,100.100.100.100.100.100.100.1002 5/7 = 0,71428571428571428571428571428571 = 0,101.101.101.101.101.101.101.1012 6/7 = 0,85714285714285714285714285714286 = 0,110.110.110.110.110.110.110.1102 1/15 = 0,06666666666666666666666666666667 = 0,0001.0001.0001.0001.0001.0001.00012 2/15 = 0,13333333333333333333333333333333 = 0,0010.0010.0010.0010.0010.0010.00102 1/5 = 0,2 = 0,0011.0011.0011.0011.0011.0011.00112 = 3/15 4/15 = 0,26666666666666666666666666666667 = 0,0100.0100.0100.0100.0100.0100.01002 7/31 = 0,22580645161290322580645161290323 = 0,00111.00111.00111.00111.00111.001112