Негізгі әдебиет: 1[62-88], 3 [51-82]
Қосымша әдебиет: 7[111-145], 9[305-361]
Бақылау сұрақтары:
Санау жүйесі дегеніміз не?
Қандай санау жүйелері позициялық емес деп саналады?
Екілік санау жүйесіндегі A(2) =1011,011(2) санын қалай сегіздік санау жүйесіне ауыстыру керек?
Тура, кері және қосымша кодалары не үшін қолданылады?
Машинада алгебралық азайту операциялары қандай кодаларда іске асырылады?
Дәріс 3. Көбейту және бөлу амалдарын орындау. Екілік-ондық санау жүйесінде алгебралық қосу амалын орындау.
ЭЕМ (сумматор) тек жалғыз қосу амалын орындайтындықтан, көбейту амалы қосу және жылжыту амалдарынан тұрады.
Кез келген таңбалы үйлесімдегі екілік сандарды көбейтуде тура коданы қолданған ыңғайлы. Бұл жағдайда таңбаларға қарамастан көбейтінді модулі көбейгіш модулінің көбейткіш модулінің барлық разрдтарына көбейту арқылы және алынған қалдық қосындыларды қосу арқылы анықталады, ал көбейтінді таңбасы екі көбейткіштердің таңбасын 2 модуль бойынша қосу арқылы анықталады.
Көбейтіндіні алу процесі Х көбейткішін Ү көбейгішінің әрбір і цифрасына көбейтуден тұрады: . Алынған Пi=Х·Уi, аралық көбейтінділер тізбекті түрде қосылып отырады. Барлық аралық көбейтінділердің қосындысы толық көбейтіндіні береді.
Жоғарыда айтқандай ЭЕМ-де көбейту амалы қосу және жылжыту амалдарынан тұрады. Екі n-разрядты сандарды көбейту кезінде нәтиже 2 n-разрядты санмен бейнеленеді. Сандарды көбейтуді кіші разрядтардан бастауға болады, немесе үлкен разрядтардан бастауға болады. Көбейту процесінде немесе аралық көбейтінділерді, немесе көбейгішті жылжытуға болады. Осы мүмкіншіліктерді комбинациялай отырып, көбейтудің негізгі төрт әдісін алуға болады:
Көбейткіштің кіші разрядтарынан бастап анализдей отырып, аралық көбейтінділерді оңға жылжытып көбейту;
Көбейткіштің үлкен разрядтарынан бастап анализдей отырып, аралық көбейтінділерді солға жылжытып көбейту;
Көбейткіштің кіші разрядтарынан бастап анализдей отырып, көбейгішті солға жылжытып көбейту;
Көбейткіштің үлкен разрядтарынан бастап анализдей отырып, көбейгішті оңға жылжытып көбейту.
Бірінші әдістің техникалық түрде іске асуы басқа әдістерге қарағанда оңайырақ.
Тура кодада берілген Х және Ү екілік сандарын көбейту кезінде (1 әдіс бойынша) олардың модульдері көбейтіледі. Және бұл жағдайда көбейткіштің кезекті разряды 1-ге тең болса, онда көбейгіш жиналған аралық көбейтінділерге қосылады. Алынған кезекті қосынды бір разрядқа оңға жылжыйды да, көбейткіштің келесі талданады. Егер 0-ге тең болса, көбейгішті аралық көбейтіндіге қосындылау орындалмайды, тек аралық көьейтіндіні бір разрядқа оңға жылжыту орындалады. Көбейтінді таңбасы жоғарыда айтылғандай көбейткіштердің таңбаларын 2 модуль бойынша қосу арқылы анықталынады.
Мысал 3.1. Х = -6 және У= -5 сандарын тура кодада (бірініші әдісті қолдана отырып) көбейту.
Шешімі: Көбейтінді таңбасы: ЗнП = ЗнХ ЗнУ = 1 0 = 1, |X|=110, |У|=101.
Жауабы: [Х+У]тура = 1, 011110.
Достарыңызбен бөлісу: |