311
ары қарай да сандардың бүтін жəне бөлшек бөлімдеріне бөлінетінін
түсінеміз. Белгіленген нүктесі бар форматы жадыда бүтін сандар-
ды сақтау үшін қолданылады. Мұндай жағдайда сан жадыдағы бір
машиналық сөздің орнын алады. N бүтін оң санының ішкі берілуін
белгіленген нүктесі бар форматта шығару үшін:
1. N санын екілік санау жүйесіне ауыстыру керек;
2. Алынған нəтижені сол жаққа 0-ден 16 разрядқа дейін
толықтыру керек.
Мысалы, N = 1607
10
= 11001000111
2
.
Бұл санның машиналық
сөзде ішкі берілуі келесідей болады:
0000 0110 0100 0111
Бұл код қысылған он алтылық формада 0647 түрінде жазылады.
Машиналық сөзде екілік разряд оңнан солға қарай 0-ден 15-ке
дейін нөмірленеді. Ең үлкен 15-ші разряд кез келген оң сандарды
машиналық түрде ұсынуда нөлге тең болады. Сондықтан ең үлкен
бүтін сан мұндай формада жазылады:
0111 1111 1111 1111
2
= 7FFF
16
= (2
15
- 1) = 32767
10
.
(-N) теріс бүтін санының ішкі ұсынылуын жазу үшін
1. N оң санының ішкі берілуін шығару керек;
2. Бұл санның 0-ден 1-ге жəне 1-ден 0-ге ауыстыратын кері ко-
дын алу керек;
3. Алынған санды 1-ге қосу керек.
Осы ережелер бойынша 1607
10
санының ішкі берілуін
анықтаймыз.
1) 0000 0110 0100 0111
2) 1111 1001 1011 1000
3) +1
1111 1001 1011 1001 – нəтиже.
Нəтиженің он алтылық формасы: F9B9.
Теріс бүтін санды ұсыну əдісі қосымша код деп аталады. Кез
келген теріс санды ұсынуда жоғарғы разряд 1-ге тең болады. Демек,
ол санның таңбасын көрсеткендіктен ол таңбалы разряд деп аталады.
Теріс сандардың ішкі ұсынылуы үшін қосымша кодты қолдану
шегеру амалын теріс санды қосу амалына ауыстыруға мүмкіндік
береді:
N – M =
N
+ (-М). Əлбетте, келесі теңдік орындалуы керек:
N
312
+ (-N) = 0. Жоғарыда алған 1607 жəне –1607 сандары үшін мұндай
қосындыны орындаймыз:
0000 0110 0100 0111 1607
1111 1001 1011 1001 -1607
10000 0000 0000 0000 0
Қорыта келгенде қосындыдан алынған жоғары разрядтағы
бірлік, машина сөзінің разрядтық торлар шекарасынан асып жоғалып
кетеді, ал жадыда нөл қалады.
Екілік таңбалардың жады ұяшығының шекарасынан шығуы
толып кету деп аталады. Заттық сандар үшін мұндай жағдайлар
апаттық болып табылады. Процессор оны тауып, жұмысты тоқтатады
(толып кетуді тоқтату). Бірақ бүтін сандарды есептеулерде апаттық
жағдайдағы сияқты толып кету болмайды жəне жұмыс тоқтап
қалмайды.
Екілік 16-разрядтық 1000 0000 0000 0000 = 2
15
саны «өзіне-өзі
теріс» болып табылады.
1000 0000 0000 0000 2
15
0111 1111 1111 1111
+1
1000 0000 0000 0000 -2
15
Бұл код -2
15
= -32768 таңбасын ұсыну үшін қолданылады. Олай
болса, 16-разрядтық машина сөзінде бүтін сандарды ұсыну диапа-
зоны:
-32768≤N≤32767.
Жалпы жағдайда k-разрядтық машина сөзі үшін диапазон
келесідей болады:
-2
k-1
≤N≤2
k-1
– 1.
Құбылмалы нүктесі бар форматы бүтін жəне бөлшек санды
мəндерді ұсыну үшін қолданылады. Математикады мұндай сандар-
ды нақты, программалауда – заттық сандар деп атайды.
Құбылмалы нүктесі бар форматы R заттық санының ұсынылуын
(m) мантиссаны (p) дəрежелі (n) санау жүйесінің негізіне көбейту
формасында жобалайды:
R=±m×n
p
.
313
Мантисса ЭЕМ жадында бүтін сан жəне оның тек мəнді цифр-
лары ғана (нөл бүтін жəне үтір – сақталмайды) болатын сияқты
көрінеді. Олай болса, заттық санды ішкі ұсыну есебі бүтін сандардың
жұбы (m) мантисса мен (p) ретті ұсынумен түйістіріледі.
Информатиканың негізгі курсында заттық сандарды ұсыну ту-
ралы сұрақтар терең деңгейде қаралады. Осы тақырыпқа арналған
теориялық материалдар мен тəжірибелік тапсырмалар оқулықта
көрсетілген [9].
Достарыңызбен бөлісу: