16.05.2015 Views

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

słowo zawiera interesującą nas informację, możemy wczytać to<br />

słowo do rejestru rozkazem<br />

MOV DX, X<br />

Jeśli będzie nam potrzebna druga połówka zmiennej - starsze<br />

słowo (umieszczone w pamięci jako następne), możemy zastosować<br />

pointer (czyli podać adres następnego słowa pamięci).<br />

[P058.CPP]<br />

# pragma inline<br />

void main()<br />

{<br />

unsigned long marchewki = 2, pietruszki = 5;<br />

const char *napis = "\nRazem warzyw: $";<br />

asm<br />

{<br />

MOV DX, napis<br />

MOV AH, 9<br />

INT 33<br />

MOV DX, marchewki<br />

ADD DX, pietruszki<br />

ADD DX, '0'<br />

MOV AH, 2<br />

INT 33<br />

}<br />

}<br />

W przypadku liczb całkowitych ujemnych <strong>C++</strong> stosuje zapis w<br />

kodzie komplementarnym. Aby móc manipulować takimi danymi każdy<br />

szanujący się komputer powinien mieć możliwość stosowania liczb<br />

ujemnych.<br />

Najstarszy bit w słowie, bądź bajcie (pierwszy z lewej) może<br />

spełniać rolę bitu znakowego. O tym, czy liczba jest ze znakiem,<br />

czy też bez decyduje wyłącznie to, czy zwracamy uwagę na ten<br />

bit. W liczbach bez znaku, obojętnie, czy o długości słowa, czy<br />

bajtu, ten bit również jest (i był tam zawsze!), ale<br />

traktowaliśmy go, jako najstarszy bit nie przydając mu poza tym<br />

żadnego szczególnego znaczenia. Aby liczba stała się liczbą ze<br />

znakiem - to my musimy zacząć ją traktować jako liczbę ze<br />

znakiem, czyli zacząć zwracać uwagę na ten pierwszy bit.<br />

Pierwszy, najstarszy bit liczby ustawiony do stanu 1 będzie<br />

oznaczać, że liczba jest ujemna - jeśli zechcemy ją potraktować<br />

jako liczbę ze znakiem.<br />

Filozofia postępowania z liczbami ujemnymi opiera się na<br />

banalnym fakcie:<br />

(-1) + 1 = 0<br />

Twój PC "rozumuje" tak: -1 to taka liczba, która po dodaniu 1<br />

- 168-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!