LI (Level-Index) SLI (Symmetric Level index) Позволяют представлять очень большие или очень малые числа В LI число представляется в виде: X = (s,l,i), где s - знак числа - 0 или 1 l - level - целое число от 0 и больше) i - index - вещественное число в интервале [0,1) Число выражается как: X = (-1)^s * F(l,i), где F(l,i) = e^i, если i = 0 = e^F(l-1,i), если i > 0 e - это основание для системы (как правило берут 2 или число 'e')
В SLI системе добавляется еще один дополнительный бит r (reciprocal) - 0 или 1 который определяет число так: X{SLI}(s,r,l,i) = X{LI}(s,l,i), если r = 0 = 1/X{LI}(s,l,i), если r = 1 таким образом SLI позволяет представлять не только очень большие числа но и очень малые. Пример SLI чисел (основание е), число 32-бит: ------------------- 1 бит sign 1 бит reciprocal 3 бита level 27 бит index ------------------- ------------------------------------------------------------- s r l i represents the value ------------------------------------------------------------- 1 1 7 7FFFFFF negative infinity 1 0 7 7FFFFFE - 10^(10^(10^(10^(9.7*10^1656518)))) 1 0 7 0000000 - 10^(10^(10^(1.01*10^1656520))) 1 0 6 0000000 - 10^(10^(1.01*10^1656520)) 1 0 5 0000000 - 10^(1.01*10^1656520) 1 0 4 0000000 -2.3*10^1656520 1 0 3 7FFFFFF -7.2*10^1656519 1 0 3 0000000 -3814279.1 1 0 2 7FFFFFF -3814277.9 1 0 2 0000000 -15.1542622 1 0 1 7FFFFFF -15.1542619 1 0 1 0000000 -2.71828183 = -e 1 0 0 7FFFFFF -2.71828180 1 0 0 0000001 -1.0000000075 1 1 0 0000000 -1 (exact) 1 1 0 0000001 -0.9999999925 1 1 0 58B90BF -0.5000000028 1 1 0 58B90C0 -0.4999999990 1 1 1 0000000 -0.3678794411 = -1/e 1 0 0 0000000 -0 (not used) 0 0 0 0000000 0 (exact) 0 1 1 0000000 0.3678794411 = 1/e 0 1 0 7FFFFFF 0.3678794439 0 1 0 58B90C0 0.4999999990 0 1 0 58B90BF 0.5000000028 0 1 0 0000001 0.9999999925 0 1 0 0000000 1 (exact) 0 0 0 0000001 1.0000000075 0 0 0 58B90BF 1.999999988 0 0 0 58B90C0 2.000000003 0 0 0 7FFFFFF 2.71828180 0 0 1 0000000 2.71828183 = e 0 0 1 3CE9CCA 4.999999948 note 8 usable digits 0 0 1 3CE9CCB 5.000000008 and no exact value for 5 0 0 2 0000000 15.1542622 = e^e 0 0 3 0000000 3814279.1 = e^(e^e) 0 0 3 4389695 4.999954139*10^100 note 5 usable digits 0 0 3 4389696 5.000033872*10^100 1 1 0 0000000 infinity ------------------------------------------------------------- SLI