III blok (tipovi podataka u Pascal-u, C/C++, asembleru), logičke operacije, logička pomeranja i rotacije
- Mala škola HTML-a sa primerima
- TIPOVI PODATAKA u Object Pascal-u, ASEMBLER, C/C++
- BITOVNI OPERATORI u Object Pascal-u, ASEMBLER, C/C++
- Sekvencijalne mreže - Shift registar
- Pakovanje datuma
- Mala škola Flash-a sa primerima
Mala škola HTML-a i Flash-a sa primerima
Do 5. bloka predati ličnu prezentaciju koja:
- mora biti urađena prema W3C preporukama za HTML 4.0
U interesu svakog učenika je da što više surfuje po kvalitetnourađenim prezentacijama i da isključivo na ličnim stranama pokažešto više svojih dizajnerskih sposobnosti, ali da pazi i na brzinu učitavanja stranice, kao i da prezentacija mora biti vidljiva from any browser uvek i svuda
Ako student želi da preuzme neki od validator-a, može se obratiti predmetnom profesoru.
Elementi koji moraju da budu prisutni unutar prezentacije
- Postojanje hiperveza (izloženo na praktikumu)
- Prezentacija mora da ima bar tri različita tipa listi (UL,OL,DL-omiljenamuzika, filmovi, tekstovi, oblasti iz programiranja i/ili tehničkih nauka i matematike)i bar dve uređene liste i dobro se obavestite o atributima vezanim za liste
- Na Web prezentaciji mora da postoji bar jedna slika (IMG) i dobro seobavestite o atributima vezanim za slike
- Prezentacija mora da sadrži hiperveze (A - relativne/apsolutne-ka tekstu koji ste otkucali i ka tabeli sa spiskom učenika Vaše grupe i nekoliko omiljenih mesta za surf-ovanje
- Prezentacija mora da sadrzi bar jednu tabelu (TABLE-vezanu za predmet ili gimnaziju- može i tabela koju ste radili na predavanjima - bitno je da poznajete elemente unutar organizacije tabele)
- Prezentacija mora da sadrži ugradjena slova srpske azbukeili abecede kojih nema u engleskoj abecedi
Neki tipovi podataka
su s predznacima (signed) i bez predznaka (unsigned). Tipovi podataka s predznacima
mogu imati pozitivne i negativne vrednosti, dok oni bez predznaka mogu imati
samo pozitivne vrednosti.
Object Pascal
U tablici su prikazani tipovi u Object Pascal-u,
količina memorije koju zauzimaju, i područje mogućih vrednosti.
Tip
podatka |
Veličina
u byte-ovima |
Područje
vrednosti |
ShortInt |
1 |
-128
do 127 |
Byte |
1 |
0
do 255 |
Char |
1 |
0
do 255 |
Integer |
4 |
-32768
do 32767 |
Word |
2 |
0
do 65,535 |
LongInt |
4 |
-2,147,483,648
do 2,147,483,647 |
Single |
4 |
±(1.5
× 10-45 do 3.4 × 1038) |
Double |
8 |
±(5.0
× 10-324 do 1.7 × 10308) |
Real |
6 |
±(2.9
× 10-39 do 1.7 × 1038) |
Extended |
10 |
± (3.4
× 10-4932 do 1.1 × 104932) |
Comp |
8 |
-9,223,372,036,854,775,808
do 9,223,372,036,854,775,807 |
Boolean |
1 |
True
ili False |
PRIORITET OPERATORA ZA RAD SA BITOVIMA u Object Pascal-u
prioritet | operatori |
najviši | not |
| and shl shr |
| or xor |
PODSEĆANJE - C IDIOMI
Protumačiti sledeć izraze:
unsigned x, n;
x=x & 0177;
x=x&01;
x=x|n;
x=x|01;
x=x & ~0177;
~0;
~0 << n;
~(~0 << n);
Karakteristike promenljivih na tipičnom 16-bitnom računaru
t i p |
š i r i n a (bitovi) | opseg vrednosti |
c h a r |
8 |
sa ili bez znaka |
u n s i g n e d c h a r |
8 |
0 .. 255 |
s i g n e d c h a r |
8 |
-128 .. 127 |
s h o r t i n t |
8 |
-128 .. 127 |
u n s i g n e d s h o r t i n t |
8 |
0 .. 255 |
s i g n e d s h o r t i n t |
8 |
-128 .. 127 |
i n t |
16 |
-32768 .. 32767 |
u n s i g n e d i n t |
16 |
0 .. 65535 |
s i g n e d i n t |
16 |
-32768 .. 32767 |
l o n g i n t |
32 |
-2147483648 .. 2147483647 |
u n s i g n e d l o n g i n t |
32 |
0 .. 4294967295 |
s i g n e d l o n g i n t |
32 |
-2147483648 .. 2147483647 |
f l o a t |
32 |
tačnost oko 6 cifara |
d o u b l e |
64 |
tačnost oko 12 cifara |
l o n g d o u b l e |
128 |
tačnost oko 24 cifara |
PRIORITET OPERATORA ZA RAD SA BITOVIMA u C/C++
prioritet | operatori |
najviši | ~ |
| << >> |
| & |
| ^ |
| | |
| &= ^=
|= <<= >>= |
Pomeranje registra može biti
- logičko
- aritmetičko
Pri logičkom pomeranju sadržaj registra se tretira kao binarna reč, dok se pri aritmetičkom pomeranju sadržaj uzima kao broj, pa se vodi računa o znaku broja.
Logičko pomeranje moze biti linijsko ili ciličko. Pri linijskom pomeranju dolazi do gubitka bitova koji ispadaju iz registra, dok su pri cikličkom pomeranju svi bitovi sačuvani.
LOGIČKO LINIJSKO POMERANJE ULEVO
U ovom slučaju sadržaj registra se pomera ulevo i bit najveće težine se gubi, a u ćeliju najmanje težine se upisuje nula. Mi ćemo sva logička pomeranja posmatrati u registru (R) od n+1 ćelije sa sadržajem ynyn-1...y0 . Prikazivaćemo sadržaj registra pre i posle izvršenog pomeranja.
Pre |
|
| |
LOGIČKO LINIJSKO POMERANJE UDESNO
U ovom slučaju sadržaj registra se pomera udesno tako da se u ćeliju najveće težine se upisuje nula, a bit najmanje težine se gubi iz registra.
Pre |
|
| |
CIKLIČKO POMERANJE ULEVO
Pri cikličkom pomeranju ne dolazi do gubitka bitova iz registra. Cikličko pomeranje ulevo dovodi do prenosa bita najveće težine u ćelliju najmanje težine, a ostali bitovi se pomeraju za jedno mesto ulevo.
Pre |
|
| |
NAPOMENA: U slučaju cikličkog pomeranja nije potrebno naglašavati da je reč o logičkom pomeranju, jer ne postoji druga vrsta cikličkog pomeranja osim logičkog pomeranja.
CIKLIČKO POMERANJE UDESNO
Cikličko pomeranje udesno dovodi do prenosa bita najmanje težine u ćeliju najveće težine, a ostali bitovi se pomeraju za jedno mesto udesno.
Pre |
|
| |
ARITMETIČKO POMERANJE ULEVO
Aritmetičko pomeranje sadržaja registra ulevo ima efekat množenja s osnovom brojčanog sistema. Ovo pomeranje je slično logičkom linijskom
pomeranju ulevo, s tim što se kontroliše nastanak prekoračenja.
Pre |
C: | <--- | yn+1 | yn | . . . | y1 | y0 |
|
| |
Posle |
C: yn+1 | <--- |
yn | yn-1 | . . . | y0 | 0 |
|
Kod aritmetičkog pomeranja se mora kontrolisati nastanak prekoračenja, jer
se računa da je sadržaj registra numerički podatak. Da bi se ovo realizovalo uvodi se jedna ćelija C u koju se smešta bit najveće težine. Nastanak prekoračenja se otkriva poređenjem sadržaja
ćelije C i bita u ćeliji najveಿe težine registra (Rn).
Ovo je prikazano u tabeli:
S(C) | S(Rn) | znak | prekoračenje |
0 | 0 | + | ne |
0 | 1 | + | da |
1 | 0 | - | da |
1 | 1 | - | da |
Kao što se vidi, znak broja je sačuvan u ćeliji C, a prekoračenje nastaje kada su bitovi ćelije C i ćelije najveće težine registra međusobno različiti.
ARITMETIČKO POMERANJE UDESNO
Aritmetičko pomeranje sadržaja registra udesno ima efekat kao deljenje s osnovom brojčanog sistema. Ovo pomeranje je slično logičkom linijskom
pomeranju ulevo, s tim što sadržaj ćelije najveće težine (mesto za znak broja) ostaje sačuvan i posle izvršenog pomeranja. Pri ovom pomeranju gubi se mesto najmanje težine broja u registru.
Pre |
|
| |
Bitovne operacije - primeri
Neka je u registru A smeštena vrednost (FF88)16
Neka je u registru B smeštena vrednost (1234)16
Primer 1: A AND B
Primer 2: A OR B
Primer 3: A XOR B
Primer 4: SHL A (logičko pomeranje ulevo za 1 bit)
Rezultat: | FF10 | CF: 1 (pozicija 15 ->CF, na kraju 0 na poziciji 0) |
Primer 5: SHR A (logičko pomeranje udesno za 1 bit)
Rezultat: | 7FC4 | CF: 0 (0 na poziciji 15, izgubila se pozicija 0) |
Primer 6: SAL A (aritmetičko pomeranje ulevo za 1 bit) - UPOREDITI sa SHL
Rezultat: | FF10 | CF: 1 (pozicija 15 ->CF, na kraju 0 na poziciji 0) |
Primer 7: SAR A (aritmetičko pomeranje udesno za 1 bit) - UPOREDITI sa SHR
Rezultat: | FFC4 | CF: 1 (pozicija 15 na poziciju 15 i 14, izgubila se pozicija 0) |
Primer 8: ROL A (cikličko pomeranje ulevo za 1 bit)
Rezultat: | FF11 | (pozicija 15 na poziciju 0, ostale pozicije za 1 mesto ulevo) |
Primer 9: ROR A (cikličko pomeranje udesno za 1 bit)
Rezultat: | 7FC4 | (pozicija 0 na poziciju 15, ostale pozicije za 1 mesto udesno) |
Pakovanje datuma
Predstavimo datum (m, d, g) u pakovanom obliku registru sa 16 bita: 4 bita za mesec, 5 bitova za redni broj dana,
7 bitova za godinu, npr. 10. avgust '83
REZULTAT (8553)16
e-mail: Jelena Grmuša
Copyright © 2002, Jelena Grmusa
Poslednja izmena: januar 2003.