|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Дзеянні бітавай арыфметыкі
Першая група паразраднай арыфметыкі – гэта лагічныя аперацыі над бітамі.
NOT – паразраднае адмаўленне – «пераварочвае» значэнне кожнага біта на процілеглае. Прыклад. Няхай A = 01101100. Тады NOT A = 10010011. AND, OR, XOR – лагічныя аперацыі, выконваюцца паразрадна ў адпаведнасці з наступнай табліцай тоеснасці.
Прыклад. Няхай , і X, Y – пераменныя тыпу Shortint. Пакажам, што . Рашэнне:
Заўвага. Аперацыя AND у 99 % выпадкаў патрэбна для дзвюх мэт: Калі выконваецца ўмова (X and 32) = 32, тады ў пятым біце пераменнай Х ёсць адзінка (адзінка ў пятым біце дае лік 25 = 32). Можна праверыць наяўнасць адразу некалькіх уключаных бітаў, напрыклад пятага, другога і нулявога. Атрымаем лік 25 + 22 + 20 = 37. Калі (X and 37) = 37, то так яно і ёсць. Калі трэба зануліць (выключыць) нейкі біт у пераменнай, тады трэба падрыхтаваць лік, у якім гэты біт нулявы: – выключылі трэці біт, бо 8 = 23; – выключылі трэці і сёмы біты, Лагічнае складанне OR з поспехам выкарыстоўваецца пры ўстаноўцы ў значэнне 1 (уключэнні) асобных бітаў двайковага ўяўлення цэлых лікаў: – уключылі чацвёрты, першы і нулявы біты, бо 24 = 16, 21 = 2, 20 = 1. XOR, якое выключае «ці» (або параўнанне па модулі 2), зварочвае 0, калі абодва аргументы роўныя, і 1 – калі не. Наступная група паразрадных аперацый – цыклічныя зрухі.
Прыярытэт аперацый – як у . Сутнасць аперацый і аднолькавая: яны зрушваюць двайковую паслядоўнасць значэння 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). Наступная табліца паказвае, якія характарыстыкі маюць сапраўдныя даныя.
Аперацыі над сапраўднымі данымі Над сапраўднымі данымі вызначаны арыфметычныя аперацыі, аперацыі адносін і шэраг функцый. 1. Арыфметычныя аперацыі: +, –, *, / (адзін з аперандаў можа быць цэлы, але вынік будзе сапраўднага тыпу). 2. Аперацыі адносін: =, >, <, <>, >=, <= (вынікам будзе true ці false). Заўвага. Трэба памятаць, што да аперандаў сапраўднага тыпу няварта прымяняць аперацыю адносін «=», бо ўмова можа не выканацца з-за недакладнага ўяўлення сапраўдных лікаў у памяці ПК і непазбежных памылак акруглення пры падліку выразаў гэтага тыпу. Таму адносіну лепш замяніць адносінай дзе – некаторая малая велічыня – хібнасць акруглення. 3. Матэматычныя функцыі: У пералічаных функцый аргумент можа быць і даным цэлага тыпу, але вынік, акрамя і – заўсёды сапраўдным. У стандарце мовы няма аперацыі ўзвядзення ў ступень (за выключэннем ), таму выкарыстоўваюць тоеснасць але тут трэба сачыць за знакам асновы 4. Іншыя функцыі: · – вылічэнне дробнай часткі (fraction – дроб); · – вылічэнне цэлай часткі , адкідванне дробнай; · – вяртае значэнне ліку : 3.141592653897932385 (19 лічбаў); · – генерыруе значэнне выпадковага ліку з дыяпазону ; · – генерыруе значэнне выпадковага ліку з дыяпазону 0.. I– 1 (цэлалікавы бяззнакавы вынік); · – змена базы генерацыі, каб выпадковыя лікі былі больш выпадковымі. Прымяняецца толькі адзін раз у праграме. Заўвага. У мове няма некаторых убудаваных функцый, таму можна іх падлічваць, выкарыстоўваючы іншыя звесткі: , , , , , , , , , , . Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |