Elektronika

Edukativni tekstovi iz sveta elektronike

Komponente

Opisi komponenata koje se koriste u elektronici

Novosti

Najnovije vesti iz elektronike i ostalih srodnih oblasti

Projekat

Projekti iz elektronike za samogradnju

Rečnik

Rečnik pojmova iz elektronike i računarstva

Početna » Programiranje

Konstante u C-u i njihova interpretacija u programu

Autor | Subota, 27. Jun 2009.Nema komentara

Višestruka reprezentacija brojeva u različitim brojnim sistemima dovodi do potrebe da se na jednoznačan način da do znanja u kom brojnom sistemu je broj zapisan. Da li se konstanta zapisana kao 21 posmatra kao short long unsign ili kao double tip podataka u programu? Odgovor ćete pronaći u nastavku teksta.

Celobrojne konstante

ANSII standard propisuje zapis celobrojnih konstanti u četiri oblika. Format zapisa konstanti prikazan je na slici 1. Slova koja se koriste za označavanje binarnog i heksadecimalnog zapisa mogu biti i mala i velika, baš kao i slova kojima se označavaju heksadecimalne cifre.

Brojni sistem Format Primer
Binarni 0bbroj ili 0Bbroj 0b11011011
Oktalni 0broj 0333
Decimalni broj 219
Heksadecimalni 0xbroj ili 0Xbroj 0xDB
Slika 1. Vrste celobrojnih konstanti

Celobrojna konstanta će u programu biti prihvaćena u najmanjem tipu podataka koji može da sadrži zadatu vrednost konstante. U slučajevima kada želimo unapred da definišemo tip podataka u kojem program treba da manipuliše sa konstantom, možemo joj dodati određeni sufiks. U programskom jeziku C postoji nekoliko sufiksa koji određuju tip podatka:

L ili l (malo slovo L) – označava da sa konstantom treba postupati kao sa signed long ili unsigned long tipom podataka.

U ili u – može se koristiti za indikaciju da se radi o unsigned tipu podataka.

Za označavanje unsigned long int tipa podatka treba koristiti oba sufiksa U ili u i L ili l.

Konstante realnih brojeva

Konstante realnih brojeva prihvataju se kao tip double, sve dok im nije pridodat sufiks f ili F, u tom slučaju tretiraju se float tip podataka. Ukoliko se konstanti realnog broja doda sufiks l ili L, konstanta je predstavljena kao long double tip podataka.

Napomena: U većini kompajlera za mikrokontrolere long double tip podataka ne postoji, a konstante realnih brojeva sa sufiksom l ili L tretiraju se kao double promenljive.

Znakovne konstante

Konstante koje predstavljaju znakove zapisuju se u programu tako što se sa obe strane znaka dodaje apostrof ‘, na primer: 'a' 'R' '&' '+'

String konstante, odnosno niz karaktera zapisuju se između znaka navodnika “”, na primer "otpornik".

Napomena: Prilikom zapisivanja string konstanti u programu mogu se navesti dva tipa podataka.

Tip podataka: const char *, smešten je u programsku memoriju mikrokontrolera. Dodeljivanje string konstante pokazivaču na karaktere koji nije konstantan, proizvešće u većini kompajlera za mikrokontrolera upozorenje, na primer:

 // "otpornik" u ROM-u, kreira se WARNING
 char * cp = "otpornik"; 

 // "mikrokontroler" u ROM-u, ispravno
 const char * ccp = "mikrokontroler"; 

Ukoliko želite da definišete niz karaktera koji nije konstan, nego se može menjati tada se definisanje stringa vrši na sledeći način:

 char ca[] = "elektronika";
 

Prethodni kod zauzima memoriju za niz karaktera u prostoru za podatke i inicijalizuje ih sa zadatom vrednošću (koju kopira iz programske memorije).

Leave your response!

You must be logged in to post a comment.