Једнострука тачност () је у рачунарству начин приказивања рационалних бројева код кога се користе користе четири бајта (32 бита) за бележење бројевне вредности. У свакодневном говору се за овај начин представљања бројева користи израз "реални бројеви у покретном зарезу" мада је овиме могуће представити само један подскуп рационалних бројева. Опсег овако представљених бројева иде приближно од 0.29•10-38 до 1.70•1038 уз тачност представљања која износи око 7 цифара.
Данас се махом имплементира према стандарду IEEE 754 иако постоје и друга структурна решења овог формата.
IEEE 754 Према стандарду IEEE 754, реални бројеви са једноструком тачношћу се деле на три дела: знак, експонент и фракцију (мантису). Тачнија подела битова по овим елементима је:
центар
Знак броја одређује бит са највећом вредношћу индекса − 31 (највећом тежином), при чему вредност 1 означава негативан а 0 позитиван број. Експонент је цео број одређен са следећих 8 битова на местима 30 - 23. Овај број нема знака већ се за обележавање и позитивних и негативних бројева користи метод "вишак 127". Помоћу њега се одређује тзв. карактеристика која учествује у рачунању крајње вредности броја. Она се добија следећом формулом: карактеристика = експонент - 127. Фракција односно мантиса је нормализована вредност основног броја између 0,5 и 1 и која се у зависности од експонента интерпретира на различите начине. Формирају је битови на позицијама 22 - 0.
Тачна интерпретација оваквог броја гласи:
(-1)знак · 2карактеристика · (1, фракција )
Пример: из бинарног у децимални запис Рецимо да је у сагласности са овим стандардом задат бинарни број једноструке, чију децималну репрезентацију треба наћи:
11000001001100000000000000000000
Број ће прво бити подељен на знак, експонент и фракцију:
1 10000010 011000...
А потом ће вредности параметара бити одређене:
S = 1 E = (10000010)2 = (130)10 M = (011000...)2 C = E - 127 = 3
Вредност = (-1)S · (1.M)2 · 2C = (-1)1 · (1.011000...)2 · 23 = -1 · (1 + 2-2 + 2-3)10 · 23 = -1 · (23 + 21 + 20) = -1 · (8 + 2 + 1) = -11
Пример: из децималног у бинарни запис Рецимо да је дат децимални број кога треба записати у једнострукој тачности према овом стандарду.
Вредност = 5.23
Овај број ће прво бити преведен у свој бинарни запис, тако да садржи укупно 23+1 бита.
(5.23)10 = (101.00(11101011100001010001))2 = (101.001110101110000101000)2
Потом ће бити трансформисан у експоненцијални запис, тако да испред зареза буде само један бит.
(101.001110101110000101000)2 = (1.01001110101110000101000)2 · 22
Сада му се могу издвојити чиниоци. Фракција -{M}- су сви битови иза зареза, карактеристика -{C}- степен двојке на крају израза а бит за знак је 0, пошто је број позитиван. Експонент -{E}- се рачуна по формули: експонент = карактеристика + 127.
S = 0 M = 01001110101110000101000 C = 2 E = C + 127 = (129)10 = (10000001)2
Сада можемо да запишемо број у бинарном формату (-{S + E + М}-):
0 10000001 01001110101110000101000 = 01000000101001110101110000101000
Литература
Јозо Дујмовић, Програмски језици и методе програмирања, 1990, Научна књига, Београд
Категорија:Рачунарска аритметика Категорија:Типови података Категорија:Бинарна аритметика