Автор работы: Пользователь скрыл имя, 01 Октября 2013 в 01:16, лекция
Санау жүйелері— сан деп аталатын, символдар көмегімен бейнеленетін атаулар
тәртібінің жиынтығы. Санау жүйелері позициялық және позициялық емес болып екіге
бөлінеді. Позициялық емес санау жүйесіне мысал — рим сандары: бірнеше сандар негізгі
болып алынған (мысалы, І, V, X), ал қалғандары осы негізгі сандарды қосу арқылы
алынады (VІ, VІІ сияқты) немесе алу ( ІV, ІX сияқты). Ал позициялық санау жүйелеріне
екілік, ондық, сегіздік, оналтылық сандар жатады. Мұндағы кез – келген сан сәйкес
алфабиттің цифрлары арқылы жазылады, және де әрбір санның мәні осы тізбекте орын
алатын, оның орнына тәуелді (позициясына).
Санау жүйелері— сан деп аталатын, символдар көмегімен бейнеленетін атаулар
тәртібінің жиынтығы. Санау жүйелері позициялық және позициялық емес болып екіге
бөлінеді. Позициялық емес санау жүйесіне мысал — рим сандары: бірнеше сандар негізгі
болып алынған (мысалы, І, V, X), ал қалғандары осы негізгі сандарды қосу арқылы
алынады (VІ, VІІ сияқты) немесе алу ( ІV, ІX сияқты). Ал позициялық санау жүйелеріне
екілік, ондық, сегіздік, оналтылық сандар жатады. Мұндағы кез – келген сан сәйкес
алфабиттің цифрлары арқылы жазылады, және де әрбір санның мәні осы тізбекте орын
алатын, оның орнына тәуелді (позициясына). Мысалы, ондық санау жүйесінде жасалған,
555 жазбасында, 5 саны ғана қолданылған, бірақ оның орын алу ретіне байланысты ол
әртүрлі сандық мәнге ие бола алады — 5 бірлік, 5 ондық немесе 5 жүздік. Сондықтан
теңдік дұрыс:
555,510 =5-102 +5-101 +5-100 +5-10-1;
11,012 =1*21+1*20+1*2-1+1*2-2
Екілік санау жүйесінде қосу. Алдын – ала қаралып кеткен ойлардан кейін екілік
санау жүйесіндегі бірразрядты сандарды арифметикалық қосу ережесінің орындалу ретін
жазайық:
0+0=0; 1+0=1; 0+1=1; 1+1=10. Демек, аса толу болғанда, үлкен разрядқа ауысу
кезінде белгілі есте сақтауды пайдалана отырып, келесіні аламыз:
11101010011,111 +1111100101,011+101100111001,
Екілік санау жүйесінде алу. Алу амалы қосу амалының керісіншесі болғандықтан
бірразрядты сандардың арифметикалық алынуының ережесін екілік санау жүйесінде
жазамыз:0-0=0; 1-0=1; 1-1=0; 10-1=1. Осы ережені қолдана отырып, кез – келген жоғарыда
келтірілген қосындыны алынған қосылғыштарды қолдана отырып, алумен тексеруге
болады. Бұдан, қандай – да бір разрядтағы нөлден бірді алу үшін, «қарыз алу” яғни
жетпей тұрған санды көшілес үлкен разрядтардан алу қажет
Екілік санау жүйесінде көбейту. Бірразрядты екілік сандарды көбейту ережелері ең
анығырағы:
0.0=0; 1-0=0; 0-1=0; 1-1=1.Яғни, екі көпразрядты екілік санды көбейту процесін
оларды баған бойынша жазу арқылы келесі нәтижені аламыз:
1011,01
х 101,11
101101
101101
101101
101101
1000000,1011
Екілік санау жүйесінде бөлу бұл да көбейту мен алуды қолдана отырып ондық
сандардағыдай іске асырылады:
Ондық санау жүйесінен екілік санау жүйесіне өту. 1210 санының екілік санау
жүйесінде ұсынылуын табу керек болсын. Келесі түрде көрсетеміз: 12 – ден бастап әрбір
дара алынғанды 2 ге ауыстыратындай жүйенің негізіне бөлеміз. Одан кейін, соңғы
дарадан бастап, барлық қалдықтарды ескере отырып, үлкен разрядқа жазылатын екілік
көрсетілуді қалыптастырамыз. Қорытындысында келесі жауапты аламыз: 1210 == 11002.
Екілік санау жүйесінен ондық санау жүйесіне өту. Екілік санау жүйесінің
позициясына негізделе отырып жасаймыз. Екілік санның заңды жазылуы негіздерін
дәрежелеу қосындысы түрінде, екіні дәрежелеу түрінде көрсетілген. Осындай жазба жасау
арқылы, алынған қосындының ондық мәндерін санау керек: 1000001001,1012 = (1 • 29 + 0 • 28 + 0 • 27 + 0 • 26 + 0 • 25 +
+0•24+1•23+0•22+0•21+1•20+1•2-
(521,625)10.
Сандардың компьютерге жазылу форматтары. Өңделетін ақпаратты компьютерге
орналастырған кезде оның қалай өңделетіндігін және оперативті жадының ұяшығындағы
адрестелінуін қадағалап отырудың қажеттігін ескеру керек. Бұл компьютердің разрядты
торын ұйымдастыруда нақты талаптарды туғызады. Разрядты тор деп оперативті
жадының ұяшығына толық машиналық сөзді орналастыруға қажетті разрядтар санын
айтады. Шартты түрде n екілік позицияға арналған разрядты торды квадраттардың тізбегі
деп қарастыруға болады. Осындай әрбір квадратты бір ғана екілік сан: 0 немесе 1 жазыла
алады, әрбір позиция бір екілік белгіні немесе битті құрайды. Есептегіш машиналарда
санды разрядты торға орналастырудың екі түрі бар: Сандарды бекітілген нүкте және
жылжымалы нүкте арқылы өрнектеу.
Сандарды бекітілген нүкте арқылы өрнектеу. Сандарды бекітілген нүкте арқылы
өрнектегенде екілік жүйе қолданылады. Сандар жарты немесе бүтін сөз ретінде
өрнектеледі. Форматтың ұзындығы (разрядтылығы) өрнектелетін сандардың шамасын
анықтайды. Бұл сандарда нүкте санның ең кіші разрядынан кейін бекітілген болып
есептеледі, яғни өрнектелетіндер тек бүтін сандар болып келеді, мысалы, 145.0, –7.0.
Форматта нүктеден кейінгі нөл жазылмайды, нүкте де көрсетілмейді. Тек ең соңғы
байттан кейін нүкте тұрады деп есептеледі. Санның таңбасы нөлінші битте көрсетіледі.
Оң сан "0" таңбасымен, ал теріс сан "1"-мен белгіленеді. Бекітілген нүкте арқылы
компьютерлерде жарты және толық машиналық сөзбен жазылған бүтін сандар
форматталады.Жартылай сөз форматында өрнектелетін ең үлкен сан 15 разрядпен
жазылады. Оның ондық жүйедегі мәні: 0111 12 2 1 32767
15
... = - = 10.
Ал толық машиналық сөз форматында: .
Мысалы, санын жарты сөз форматында өрнектегенде төмендегіше болады:
Енді осы санды 16 бит арқылы жазсақ
Сандарды жылжымалы нүкте арқылы өрнектеу. Компьютерлерде жылжымалы
нүкте арқылы бөлшегі бар аралас сандар жазылады және олар бүтін сандарға қарағанда
жиі кездеседі. Мұнда да сандар екілік жүйеде бейнеленеді. Олардың форматы толық және
екі еселенген машиналық сөз түрінде болуы мүмкін. Биттер 0-ден 63-ке дейін нөмірленеді.
Сол жақ шеттегі 0-бит санның таңбасын өрнектейді. Жылжымалы нүктелі сан мынадай
түрде жазылады: p z A S ± = ± × , мұндағы p – санау жүйесінің негізі (оң бүтін сан); z – негіз
дәрежесі; S – A санының мантиссасы. Бұл жерде нүкте бекітілмеген, мұнда оның орны
дәрежемен анықталады.
Компьютерде бүтін сандарды бейнелеу. Компьютерде бүтін сандар таңбамен және
таңбасыз көрсетілуі мүмкін. Таңбасыз бүтін сандар компьютердің жадында әдетте бір
немесе екі байт орын алады. Бір байттық форматта бүтін сан 000000002-ден 111111112-ге
таңба санның разрядтары
0 1 . . . 15-биттер
1 0 0 1 1 1 1 1 0 0 1 1 0 0 0
0 1
Жарты сөз
таңба бүтiн екiлiк
сан
Толық машиналық сөз
таңба б ү т i н е к i л i к
с а н 0 1
Сандард3ы1 жазудың жарты (а) және толық (ә) форматтары
ә)
а)
Ф ҚазҰПУ 0703-09-09 Мамандықтың оқу-әдістемелік кешені
дейінгі,__ дейінгі, ал екі байттық форматта ол 00000000 000000002-ден 11111111 111111112-ге
дейінгі аралықтағы мәндерді қабылдай алады.
Таңбасыз бүтін сандар мәндерін бейнелену аралықтары
Форматтағы
байттар саны
Мәндер аралығы (диапазоны)
Дәрежемен жазылуы Кәдімгі жазылуы
1 0 ... 28-1 0 ... 255
2 0 ... 216-1 0 ... 65535
Таңбалы бүтін сандар компьютердің жадында әдетте бір, екі немесе төрт байт орын
алады. Ең сол жақтағы шеткі (жоғарғы) разряд санның таңбасын бейнелейді, “+” таңбасы
нөл, ал “–“ таңбасы бір болып жазылады.
Таңбалы бүтін сандар мәндерінің бейнелену аралықтары
Форматтағы
байттар саны
Мәндер аралығы (диапазоны)
Дәрежемен жазылуы Кәдімгі жазылуы
1 -27 ... 27-1 -128 ...127
2 -215 ... 215-1 -32 768 ... 32 767
4 -231 ... 231-1 -2 147 483 648 ... 2 147 483 647
Бірбайттық формат үлгісінде таңбасы бар бүтін сандар жазылу ерекшеліктерін
қарастырайық, мұнда таңбаға бір разряд беріледі, ал абсолюттік мән цифрларына – жеті
разряд беріледі.
Компьютерлік техникада таңбалы бүтін сандардың үш жазылу (кодталу) түрі бар:
тура код, кері код, қосымша код.
Компьютерде нақты сандарды бейнелеу . Компьютерлік техникада нақты сандар
(бүтін сандардан өзге) деп бөлшегі бар сандарды айтады. Ол математикадағы аралас
сандарға сәйкес келеді. Көбінесе программаларда бөлшек сандарды жазған кезде әдеттегі
үтір орнына нүкте жазылады. Өте кіші немесе өте үлкен нақты сандарды бейнелеу үшін
оларды санау жүйесінің негізінің дәрежесімен көбейту арқылы жазу түрі қолданылады.
Мысалы, 1.25 ондық санын осы түрде былай жазуға болады: 1,25.100 = 0,125 .101 = 0,0125
.102 немесе
12,5 .10-1 =125,0 .10-2 = 1250,0 .10-3
мынадай кіші сан 0.00000000018 = 1,8 .10-10 болып,
ал мына үлкен сан 2540000000000 = 2,54.10-12 түрінде жазылады.
Негізі q болатын санау жүйесінде кез келген N санын N = M .q p, бұндағы M – берілген
санның барлық цифрлары (мантисса) жазылған көбейткіш. Сандарды бұлай жазу түрі
санды жылжымалы нүктемен бейнелеу деп аталады.
Егер «жылжымалы» нүкте мантиссаның сол жақтағы ең шетте тұрған цифрының
алдында орналасса, онда мантиссаға арналған разрядтар саны бекітілген жағдайда, сол
разрядтарға мәні үлкен цифрларды жаза отырып, машинада сандардың ең үлкен
(максимальды) мәнін жазу ісі, яғни машинада санды бейнелеудің ең максимальды дәлдігі
қамтамасыз етіледі.
Мантисса дұрыс бөлшек болуы қажет және оның нүктеден (үтірден) кейінгі алғашқы
цифры нөлден өзге сан (екілік жүйеде 1) болуы тиіс: 0,12 <= |M| < 1. Егер осы талап
орындалса, онда ол нормалданған (қалыптанған) сан деп аталады.
Мантисса мен санның дәрежесін осы q жүйесінде жазу керек, ал негіздің өзін – ондық
жүйеде жазу қалыптасқан.Нақты сандар әр типтегі компьютерлерде әр түрлі болып
жазыла береді, бірақ сонда да барлық компьютерлер сандарды бейнелеудің бірнеше
халықаралық стандарттарын пайдаланады, олардың дәлдік жағынан айырмашылығы
болғанмен, құрылымдары бірдей төмендегі түрде болып келеді:
Қазіргі компьютерлерде толық сөз форматында мантиссаны өрнектеу үшін 24 разряд
беріледі (8-биттен 31-битке дейін), ал дәрежені жазу үшін 6 разряд беріледі (2-биттен 7-
битке дейін), 0-бит санның таңбасы үшін, ал 1-бит дәреженің таңбасын өрнектеу үшін
Ф ҚазҰПУ 0703-09-09 Мамандықтың оқу-әдістемелік кешені
қажет.Екі еселенген сөз форматында мантисса үшін 56 разряд (8-биттен 63- битке дейін)
беріледі, ал қалған 0-биттен 7-битке дейінгі орындарда өзгеріс болмайды.
Сандарды жылжымалы нүкте арқылы жазудың форматтары:
а) толық сөз форматы; ә) екі еселенген сөз форматы
а)
ә)
Осылай сандарды ығыстыру тәсілі дәреже мәндерімен таңбасыз сандар сыяқты
арифметикалық амалдар орындауға мүмкіндік береді, яғни дәреже таңбасын да қосу-алу
амалдары орындалатын оның мәндік цифрларымен біріктіруге мүмкіндік береді. Осы
тәсіл дәрежелерді салыстыру, қосу және алу амалдарын, сонымен қатар нормалданған
сандардың өздерін де бір-бірімен салыстыруды жеңілдетеді.
Мантиссаны жазу үшін қаншалықты көп разряд берілсе, соншалықты санды
бейнелеу дәлдігі жоғары болады. Ал дәрежеге көп разряд берілетін болса, машинада
берілген форматта ең кіші (нөлден өзге) саннан оның ең үлкен мәніне дейінгі аралық
(диапазон) кең болады.
Нақты сандарды бейнелеудің стандартты форматтары:
1) бір еселі формат – 32-разрядты таңбасы бар нормалды сан, 8-разряды
ығыстырылған дәреже және 24-разряды мантисса.
2) екі еселенген формат – 64-разрядты таңбасы бар нормалды сан, 11-разряды ығысты-
рылған дәреже және 53-разрядты мантисса.
3) кеңейтілген формат
– 80-разрядты таңбасы бар
ығыстырылған дәреже және 64-разряды мантисса. Нормалданбаған сандарды сақтауға
мүмкіндік береді.
Айта кететін жайт, m-разрядты мантиссасы бар нақты сандар форматы m-разрядты
бүтін сандарды дәл бейнелеуге мүмкіндік береді, яғни m-нан аспайтын разряды бар кез
келген екілік бүтін сан нақты форматқа еш өзгеріссіз түрлендіріледі.
IBM типтес дербес компьютерлерде қолданылатын
нақты сандар форматтарының сипаттамалары
Нақты сандар
форматтары
Байтпен
берілген көлемі
Бейнеленетін абсолют-
тік мәндері аралығы
сәйкес келетін ондық
цифрлар сандары
Бір еселі формат 4 10-45 ... 1038 7 немесе 8
Нақты сан форматы 6 10-39 ... 1038 11 немесе 12
Екі еселенген формат 8 10-324 ... 10308 15 немесе 16
Кеңейтілген формат 10 10-492 ... 104932 19 немесе 20
Кейбір сандардың нормалданған түрдегі төртбайтты форматында, дәрежеге жеті разряд
берілген кездегі бейнелену түрлерінен мысалдар келтірейік.
Мысал. 6.2510 = 110.012 = 0.11001.211:
Оң сандар тура, кері және қосымша кодтардың барлығында да бірдей болып, таңбасы
0 санымен белгіленетін сол санның екілік кодтары тізбегімен бейнеленеді.
Мысалдар: 110 = 12 саны: 12710 = 11111112 саны__Теріс сандар тура, кері және қосымша кодта әр түрлі болып бейнеленеді.
Тура код. Таңба разрядына 1 цифры, ал санның мәндік бөлігінің разрядтарына сол
санның абсолюттік шамасының екілік коды жазылады. Кері код сол санның абсолюттік
шамасының екілік кодының барлық сандарының инверсиялануы арқылы, яғни
таңбасымен қоса кері кодымен алмастыру арқылы, нөлдер – бірлермен, ал бірлер –
нөлдермен алмастырылу жолымен шығады.Қосымша код алдыңғы алынған кері кодтың
ең соңғы разрядына бірді қосу арқылы шығарылады.
Теріс ондық сандарды машинаға енгізген кезде ол автоматты түрде кері немесе
қосымша екілік кодқа ауысады және осындай күйде сақталынады, жылжытылады және
амалдар орындайды. Бұл сандарды машинадан шығарған кезде олар қайтадан теріс ондық
санға түрлендіріледі.