АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Дзеянні бітавай арыфметыкі

Читайте также:
  1. Пачатак Вялікай Айчыннай вайны. Баявыя дзеянні на тэрыторыі Беларусі летам 1941 г.

Першая група паразраднай арыфметыкі – гэта лагічныя аперацыі над бі­та­мі.

Аперацыі Назва Форма запісу Прыярытэт Тып
NOT Паразраднае адмаўленне NOT A 1 (вышэйшы) Унарны
AND Лагічнае множанне (і) A1 ANDA2   Бінарны
OR Лагічнае складанне (ці) A1 OR A2  
XOR Якая выключае «ці» A1 XORA2 4 (ніжэйшы)

NOT – паразраднае адмаўленне – «пераварочвае» значэнне кожнага біта на процілеглае.

Прыклад. Няхай A = 01101100. Тады NOT A = 10010011.

AND, OR, XOR – лагічныя аперацыі, выконваюцца паразрадна ў ад­па­вед­нас­ці з наступнай табліцай тоеснасці.

A B A AND B A OR B A XOR B A XOR B XOR B
           
           
           
           

Прыклад. Няхай , і X, Y – пераменныя тыпу Shortint. Пакажам, што .

Рашэнне:

Заўвага. Аперацыя AND у 99 % выпадкаў патрэбна для дзвюх мэт:
1) праверыць наяўнасць канкрэтных бітаў ці 2) зануліць некаторыя з іх.

Калі выконваецца ўмова (X and 32) = 32, тады ў пятым біце пераменнай Х ёсць адзінка (адзінка ў пятым біце дае лік 25 = 32).

Можна праверыць наяўнасць адразу некалькіх уключаных бітаў, на­прык­лад пятага, другога і нулявога. Атрымаем лік 25 + 22 + 20 = 37. Калі (X and 37) = 37, то так яно і ёсць.

Калі трэба зануліць (выключыць) нейкі біт у пераменнай, тады трэба пад­рых­та­ваць лік, у якім гэты біт нулявы:

– выключылі трэці біт, бо 8 = 23;

– выключылі трэці і сёмы біты,
бо 23 = 8, 27 = 128.

Лагічнае складанне OR з поспехам выкарыстоўваецца пры ўстаноўцы ў зна­чэн­не 1 (уключэнні) асобных бітаў двайковага ўяўлення цэлых лі­каў: – уключылі чацвёрты, першы і нулявы біты, бо 24 = 16, 21 = 2, 20 = 1.

XOR, якое выключае «ці» (або параўнанне па модулі 2), зварочвае 0, ка­лі абодва аргументы роўныя, і 1 – калі не.

Наступная група паразрадных аперацый – цыклічныя зрухі.

 

Аперацыя Назва Форма запісу
shl Цыклічны зрух на N пазіцый улева (l) A shl N
shr Цыклічны зрух на N пазіцый управа (r) A shr N

Прыярытэт аперацый – як у .

Сутнасць аперацый і аднолькавая: яны зрушваюць двай­ко­вую паслядоўнасць значэння A на N бітаў адпаведна ўлева або ўправа. Пры гэтым біты, якія знікаюць за краем разраднасці, губляюцца, а раз­ра­ды, якія вызваліліся, запаўняюцца нулямі. Рэалізацыя аперацый і за­ле­жыць ад кампілятара.

паколькі ;

паколькі

У даных тыпу Byte, Shortint зрушваецца поле з 8 бітаў; тыпу Word, Integer – 16 бітаў; Longint – 32 біты. Браць N больш за гэтыя ве­лі­чы­ні або адмоўным бяссэнсава – вынікам будзе 0.

Аперацыя можа замяняць множанне гэтых лікаў на ступені двой­кі, пры гэтым не ўзнікае «перапаўнення», але можам атрымаць дрэнны вы­нік – прападзе старэйшы біт. Напрыклад: j shl 3 = j *8, а shr – цэлалікавае дзяленне на ступені двойкі; j shl 1 = [j/2],

Сапраўдныя даныя

Даныя гэтага тыпу маюць сваімі значэннямі падмноства сапраўдных лі­каў, якія дапушчальны ў камп’ютары, займаюць у памяці ад 4 да 10 бай­таў і прадстаўляюцца ў форме з плаваючай кропкай у 2-й с/зл. Коль­касць вар­тас­ных лічбаў ліку абмежавана, таму значэнні даных са­праўд­на­га ты­пу могуць быць прадстаўлены ў машыне недакладна.

У праграме ж на алгарытмічнай мове выявы ліку сапраўднага тыпу мо­гуць быць запісаны як у форме з плаваючай кропкай, так і з фік­са­ва­най, напрыклад Х = 0.0001 ці Х = 1Е–4.

Мы ўжо разглядалі структурныя дыяграмы для запісу значэнняў гэ­та­га тыпу. Абагульніць можна так.

 

 

Сапраўдны лік:

 

 

Парадак:

 
 

 


 

Адсюль вывад: наступныя лікі няправільныя з пункту гледжання сін­таксісу мовы:.3 (правільна 0.3), 10. (правільна 10.0 ці 10).

Наступная табліца паказвае, якія характарыстыкі маюць сапраўдныя даныя.

 

Тып Дыяпазон модуля Колькасць лічбаў мантысы Памяць у байтах
Real 2.9*10–39..1.7*1038 11–12  
Single (просты) 1.5*10–45..3.4*1038 7–8   Патрабуюць праграмнай эмуляцыі апаратных аперацый і выклік супрацэсара. Патрэбны дырэктывы {$E+}, {$N+}
Double (падвойны) 5.0*10–324..1.7*10308 15–16  
Extended (пашыраны) 3.4*10–4932..1.1*104932 19–20  
Comp (цэлалікавыя значэнні) –9.2*10+18.. 9.2*10+18 19–20  

 

Аперацыі над сапраўднымі данымі

Над сапраўднымі данымі вызначаны арыфметычныя аперацыі, апера­цыі ад­но­сін і шэраг функцый.

1. Арыфметычныя аперацыі: +, –, *, / (адзін з аперандаў можа быць цэлы, але вынік будзе сапраўднага тыпу).

2. Аперацыі адносін: =, >, <, <>, >=, <= (вынікам будзе true ці false).

Заўвага. Трэба памятаць, што да аперандаў сапраўднага тыпу нявар­та прымяняць аперацыю адносін «=», бо ўмова можа не выканацца з-за не­дакладнага ўяўлення сапраўдных лікаў у памяці ПК і не­паз­беж­ных памылак акруглення пры падліку выразаў гэтага тыпу.

Таму адносіну лепш замяніць адносінай дзе – некаторая малая велічыня – хібнасць акруглення.

3. Матэматычныя функцыі:

У пералічаных функцый аргумент можа быць і даным цэлага тыпу, але вынік, акрамя і – заўсёды сапраўдным.

У стандарце мовы няма аперацыі ўзвядзення ў ступень (за вык­лю­чэн­нем ), таму выкарыстоўваюць тоеснасць але тут трэ­ба сачыць за знакам асновы

4. Іншыя функцыі:

· – вылічэнне дробнай часткі (fraction – дроб);

· – вылічэнне цэлай часткі , адкідванне дробнай;

· – вяртае значэнне ліку : 3.141592653897932385 (19 лічбаў);

· – генерыруе значэнне выпадковага ліку з дыяпазону ;

· – генерыруе значэнне выпадковага ліку з дыяпазону 0.. I– 1 (цэлалікавы бяззнакавы вынік);

· – змена базы генерацыі, каб выпадковыя лікі былі больш вы­пад­ко­вы­мі. Прымяняецца толькі адзін раз у праграме.

Заўвага. У мове няма некаторых убудаваных функцый, таму можна іх падлічваць, выкарыстоўваючы іншыя звесткі:

, , ,

, , ,

, , ,

, .


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.)