Programovanie makier v LibreOffice: Operátory (3)

LO.png Čaká nás logický operátor IMP a úvod do bitových operátorov. Trochu si osviežime i poznatky z výrokovej logiky, ktoré vám pomôžu pochopiť niektoré veci pod „kapotou“ počítača.  

Logický operátor IMP

Operátor IMP ako implikácia je najťažšie zapamätateľný (aspoň pre mňa bol) zo všetkých povedaných operátorov. Výraz v IMP je nepravdivý len vtedy, ak prvý výraz je pravdivý a druhý výraz nepravdivý. V ostatných prípadoch je výraz pravdivý. Fajn, poďme sa presvedčiť na príklade.

1. príklad: Chovanie operátora IMP

Sub example
 Dim retazec As String
 Dim pole1()
 Dim pole2()
 Dim i As Integer

 pole1() = Array(True, False, True, False)
 pole2() = Array(True, False, False, True)

 For i = LBound(pole1()) To UBound(pole1())
 retazec = retazec & pole1(i) & " IMP " & pole2(i) & " = " & CBool(pole1(i) 
 IMP pole2(i)) & CHR(10)
 Next

 MsgBox retazec 
End Sub

Výsledná činnosť makra Výsledná činnosť makra

Rozbor makra: Vidíte, že len jeden prípad dáva IMP nepravdivý a to ak prvý výrok je pravdivý a druhý nepravdivý 

Bity, bajty a výroková logika

Ešte predtým, než prejdeme k bitových operátorom, treba si niečo povedať o bitoch, bajtoch a výrokoch.

Určite som niekde spomínal v rámci tohto seriálu spomínal, čo sú to bity a bajty. Zopakujme si termíny. Jeden bit predstavuje nejakú pravdivostnú hodnotu. Hodnota môže mať dve stavy. Pravdivú a nepravdivú.

Ukážka: 

0 – 1 bit
01 – 2 bitov
101 – 3 bitov
1011 – 4 bitov
10101 – 5 bitov
111000 – 6 bitov
1110011 – 7 bitov
01010101 – 8 bitov

Ešte poznámka, to či je skupina výrokov 5, 6 alebo 8 bitová, závisí od počtu výrokov v skupine. Výroky, pravdivostné vzťahy a javy s nimi spojené skúma práve výroková logika.

Môj najobľúbenejší príklad a prvá skúsenosť s výrokovou logikou na vysokej škole je bitová (dvojková) sústava čísel od 0 do 15 v 4 bitovom predvedení. Stačia nám 4 bity, aby sme vyjadrili v bitovej formulácii všetky čísla od 0 do 15.

0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = 10
1011 = 11
1100 = 12
1101 = 13
1110 = 14
1111 = 15

Zaujímavosťou, ktorú spomeniem je, že vieme si spočítať, koľko tých stavov v nejakej bitovej formulácie môžeme využiť. Napríklad ak máme 4bitovú formuláciu, počet stavov je maximálne 16. Keďže začíname od čísla 0, tak od 0 do 15. Ako sa k číslu 16 môžeme dostať? Vzorcom 2^n, kde číslo 2 znamená dve možné pravdepodobnostné hodnoty (od toho aj názov bitová resp. dvojková sústava) a n ktorá predstavuje rozsah bitov, o ktorej sa celý čas bavíme. Čiže 2^4 = 16.

Určite poznáte ASCII tabuľku a ktorý nevedia o čom je reč, vysvetlím. ASCII tabuľka je tabuľka v ktorej sú znaky a k týmto znakom je priradená bitová reprezentácia znakov. Tejto bitovej formulácie už rozumie váš mozog počítača, procesor. Keď zadáte klávesu  k, tak zadané písmeno je definované číslom 107 a toto číslo sa pretaví do 8-bitovej podoby, ktorej rozumie procesor.

ASCII tabuľka je 8-bitová a už podľa známeho vzorca 2^8 = 256 stavov. Číslujeme od nuly, preto rozsah čísel pri 8-bitovej reprezentácii je od 0 do 255. Aby sme zbytočne nevypisovali, ako vyzerá 256 stavov 8 bitovej reprezentácii, vypíšeme len prvých 16 stavov v 8 bitovej reprezentácii.

0000 0000 = 0
0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
0000 0100 = 4
0000 0101 = 5
0000 0110 = 6
0000 0111 = 7
0000 1000 = 8
0000 1001 = 9
0000 1010 = 10
0000 1011 = 11
0000 1100 = 12
0000 1101 = 13
0000 1110 = 14
0000 1111 = 15

A aká reprezentáciu bude mať číslo 16? 17? Väčšina tutoriálov skončí pri čísle 15 a väčšina začiatočníkov sú na pochybách, ako pokračovať. Dám vám ešte tieto dve čísla ako pokračovanie.

0001 0000 = 16
0001 0001 = 17

A takto to pokračuje až k číslu 255. Rovnaké pravidla platia i pri iných bitových reprezentáciách. 

Bitové operátory

Poznáme logické operátory, napríklad logický súčin AND a logický súčet OR. Existujú aj takzvané bitové operátory. Napríklad bitový súčin AND a bitový súčet OR. Je medzi nimi rozdiel? Jedine vo forme, funkcionalitou ide o tu istú vec.

Napríklad: 

False AND True False  operátor AND je logický
0 AND 1 = 0 operátor AND je bitový 

Takže vidíte, rozdiel je len vo forme. 

Ešte posledná drobnosť pred koncom. Ak máme viacero bitovú reprezentáciu, napríklad: 

0011 AND 1101 = 0001

Sled porovnávania je prvý s prvým, druhý s druhým, tretí s tretím a atď…

Tento článok bol ako vidíte, viacmenej teoretický. Dúfam, že nováčikom pomohol sa troška zorientovať, o čo ide a uviedli sme si i jeden praktický príklad, ASCII tabuľku, kde sa takéto veci používajú. Nabudúce bude posledná praktickejšia časť z cyklu Operátory a potom pôjdeme ďalej. Čaká nás ešte dosť práce, tak ostaňte naladený.

(Jako ve škole) Průměr: 1,00 | Hodnotilo: 3
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
EDU Trainings
Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.

 

Public Relations

IPv4 zastarává, i tak si však zaslouží kvalitní zabezpečení

Znáte souvislost mezi doménami a typickými IP adresami? Není od věci si uvědomit, že zatímco domény jsou určeny pro zjednodušení hledání webové stránky na internetu, IP adresy slouží primárně pro výpočetní techniku, konkrétně pro přesné vyhledání konkrétního serveru nebo počítače.

Pokračování ...


AIMTEC
SAM v kostce 2019
 
 
woo jaw demo hz