Кіріспе

Компьютерлік ғылымда масштабтау коэффициенті – математикадағы дәрежеге ұқсас әрекет ететін, санды басқа масштабта көрсету үшін көбейтілгіш ретінде қолданылатын сан. Масштабтау коэффициенті, нақты әлемдегі сандар жиынтығын белгілі бір сандық форматқа сәйкес келу үшін басқа масштабта көрсету қажет болғанда пайдаланылады. Масштабтау коэффициентін қолдану көрсетілетін мәндердің диапазонын кеңейтсе де, бұл дәлдікті азайтады, соның салдарынан кейбір есептеулерде дөңгелектеу қатесі туындайды.

Қолданылуы

Бағдарламалаудың ыңғайлылығы үшін немесе осы сан форматына арналған аппараттық құралдың ұсынайтын артықшылықтарына байланысты, қолданба үшін нақты сан форматтары таңдалуы мүмкін. Мысалы, алғашқы процессорлар бөлшектік мәндерді көрсету үшін қозғалмалы нүкте арифметикасын қолдамады, сондықтан нақты әлемдегі мәндерді көрсету үшін бүтін сандар масштабтау коэффициенттерін қолдану арқылы сақталды. Сол сияқты, аппараттық арифметиканың белгілі бір ені бар (әдетте 16, 32 немесе 64 бит, дерек типіне байланысты), масштабтау коэффициенттері үлкен сандарды көрсетуге мүмкіндік береді (белгіленген масштабтау коэффициентімен қолмен көбейту немесе бөлу арқылы), бірақ бұл дәлдіктің төмендеуіне әкеледі. Қажеттілік туғандықтан, мұндай амалдар бағдарламалық жасақтамада орындалды, себебі аппараттық құрал бөлшектік мәнді қолдамады. Масштабтау коэффициенттері қозғалмалы нүктелі сандарда да қолданылады, көбінесе олар екінің дәрежесі болып табылады. Мысалы, қос дәлдік форматы масштабтау коэффициенті үшін 11 бит (бинарлық көрсеткіш) және маңызды бөлігі үшін 53 бит бөліп қояды, бұл әртүрлі сан диапазондарын көрсету үшін әртүрлі дәрежедегі дәлдікке мүмкіндік береді және 64 нақты биттерді пайдалану арқылы көрсетілетін сандардың диапазонын кеңейтеді (бірақ бұл дәлдіктің төмендеуімен байланысты). Дәлдіктің жоғалуына мысал ретінде, 16 биттік таңбасы жоқ бүтін сан (uint16) тек 65,53510-ға дейінгі мәнді сақтай алады. Егер 0-ден 131,07010-ға дейінгі мәндерді көрсету үшін таңбасы жоқ 16 биттік бүтін сандар қолданылса, онда масштабталған мәндер нақты әлемдегі жұп сандарға дәл сәйкес келетін 1/2 масштабтау коэффициенті енгізіледі. Салдарынан, мысалы, 3 саны көрсетілмейді, себебі сақталған 1 нақты әлемде 2-ні, ал сақталған 2 нақты әлемде 4-ті білдіреді; бұл көрсетудегі қателіктен аулақ болу үшін жеткілікті биттер жоқ.