Лекции по увод в програмирането


Начини на представяне на числата



страница4/16
Дата25.07.2016
Размер0.96 Mb.
#5224
ТипЛекции
1   2   3   4   5   6   7   8   9   ...   16

Начини на представяне на числата

В компютъра числата се представят в двоична бройна система.



Цели числа








Цяло положително

Цяло отрицателно

Пряк код

0

0

0

0

0

1

0

1

1

0

0

0

0

1

0

1

Обратен код

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

0

Допълнителен код

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

1

Таблицата показва представянето на числото 5 (-5) в един байт; първият бит е знаков; знакът е “-“ ако знаковият бит е 1; обратният код за отрицателните цели числа се получава от прекия код, като се обърнат всички битове без знаковия; допълнителният код за цели отрицателни числа се получава като към обратният код прибавим 1 (аритметично). В C++ за представянето на числа се използва допълнителният код.


Числа с плаваща запетая се представят като m x 2p, където m е мантисата (числовият запис на числото); а p > 0 е порядък на числото; допуска се m да е със знак
Ако имаме 4 байта, едно число с плаваща запетая може да се представи чрез 1 бит (знак на мантисата) + 8 бита (порядъка) +

23 бита (мантисата); за да можем да получим и отрицателен порядък числата се изчисляват като m x 2p-const; това се прави с цел множеството от допустимите стойности на порядъка да е симетрично отностно нулата; обикновено мантисата е нормализирана (нейната цяла част е съставена от една цифра и е възможно тя да не се пази, ако цифрата е фиксирана, например 1), т.е. тя е от вида y.xxxxxx, където x са някакви битове (0 или 1), a y е цифра (представена също с битове);






15 октомври
5. Константи. Видове. Вътрешно представяне.
#include

void main ()

{ int a, p, s;

printf ( “ Въведи а = “);

scanf ( “%d”,a);

s = a*a;


p = 4*a;

printf (“ S = %d\n “,s);

printf (“ P = %d\n “,p);

}
Допустимите символи, които могат да се използват в една програма се делят на четири групи:



    • букви – главни и малки латински букви + символ за подчертаване

    • цифри – арабските цифри от 0 до 9

    • празни символи – символи, които нямат явен графичен вид – интервал, символ за табулация, символ за нов ред и др.

    • специални символи – всички останали

Някои оператори са комбинация от символи (например >=, <=, ==, !=)
Идентификатор – последователност от букви и цифри, която започва с буква; дължината не е фиксирана, но компилаторът има лимит (например 32 символа) и счита за еднакви идентификатори, за които първият символ по-който се различават е извън този лимит
Резервирани (ключови) думи – резервирани идентификатори, които изпълняват вградени функции и потребителят не може да ги използва за имена на свои променливи или фукнции
Служебните идентификатори започват с “_” и затова не се препоръчва потребителят да ползва този символ за начало на свой идентификатор
В низ от символи може да се използват всички символи, поддържани от конфигурацията на компютъра
Ключовите думи в C са задължително с малки букви.
Синтаксис – правила за изграждане на програмата като текст (низ от символи)
Семантика – правила по които се изпълнява дадена програма или инструкция
Числовите константите в C могат да бъдат:

    • цели – десетични – те не трябва да започват с нула (25, -313 и т.н.); осмични – започват с 0 (0713, 05264 и т.н.); шестнадесетични – започват с 0x или 0X (0xAbC, 0xA231bB, и т.н.), няма значение дали шестнадесетичните константи са с малки или големи букви;

    • дробно – десетични – представят се с десетична точка (тя е задължителна дори числото да е цяло); два начина за представяне – като десетично число (34.5, -33.1, 5. , .3 и т.н.); с мантиса и порядък (24е-5 = 24. 10-5,

32Е13 = 32. 1013 и т.н.)

Целите числовите константи могат да бъдат от следните типове:



    • signed int (signed може да се пропусне) – целочислен тип 2 байта [ -32 768; 32767 ]

    • unsigned int – целочислен тип 2 байта [ 0; 65535 ]

    • signed long int (int и signed могат да се пропуснат) – целочислен тип 4 байта [ -2 147 483 648; 2 147 483 647 ]

    • unsigned long int (int може да се пропусне) - целочислен тип 4 байта [ 0; 4 294 967 295]

Типа на една цяла целочислена константа по подразбиране е най-малкият възможен за нея (например 12 е тип int; 1000000 е тип long);

има суфикси, които могат да се използват за да се смени типа на константа; добавят се в нейният край:



    • L (l) за long (например 423l, -1L)

    • U (u) за unsigned long (например 145u, 65000U)

Дробно-десетичните числови константи са от следните типове:



    • double – реален тип (с плаваща десетична точка); 8 байта, точност 15 цифри; ~ [ 10-308 .. 10308 ] по абсолютна стойност

    • long double – реален тип (с плаваща десетична точка); 10 байта, точност 19 цифри; ~ [ 10-4932 .. 104932 ] по абсолютна стойност

    • float – реален тип (с плаваща десетична точка); 4 байта, точност 7 цифри; ~ [ 10-308 .. 10308 ] по абсолютна стойност

Една дробно-десетична константа по подразбиране е от тип double; могат да се добавят суфикси за да се промени нейният тип:



    • F (f) за float (например 3.4f, –3.53F и т.н.)

    • L (l) за long double (например 23.5l, -34.3L)


Символни константи – единичен символ, заграден в апострофи (‘’); един символ е един байт; един символ се съпоставя на точно едно число по определен начин; в езика C (както и в много други езици) стандартът е ASCII (American Standard Code for Information Interchange); кодът се задава в десетична, осмична или шестнадесетична система
Низови константипоследователност от символи, заградени в кавички; на всеки символ съответства байт, но накрая има един нулев байт (той е признак за край във вътрешното представяне);

представяне на особени символи в низ:



    • \’ – представяне на апостроф

    • \” - представяне на кавичка

    • \\ - представяне на обратна черта

    • \осм. код; \xшестн. код – представяне на символи, които нямат графично изображение

    • \0 – нулев байт

    • \b – бекспейс

    • \r – carriage return (позиционира в началото на реда)

    • \f – минава на следваща страница

    • \n – минава на нов ред

    • \t – табулация

6. Променливи и типове данни.


Променлива – съдържа име и стойност; името е идентификатор, стойността е според типа на променливата

Една променлива трябва да се дефинира задължително преди да се използва: тип списък_от_променливи;

типове:


    • char – символен тип (1 байт); може да е с модификация signed или unsigned; в C++ може да се интерпретира като числов тип

    • int – целочислен тип (при 16 битовите компилатори – 2 байта (int = signed int), при 32 битовите – 4 байта

(int = signed long int); допуска модификации signed, unsigned, long, short

    • float – тип с плаваща точка (4 байта);

    • double – тип с плаваща точка (двойна точност) (8 байта); допуска модификация long

Операция sizeof(тип) връща колко байта заема типа;

Когато компилаторът обработи дефиницията на променлива, той заделя памет в зависимост от нейният тип; типът определя по какъв начин се кодира стойността на променливата в паметта, определя и множеството от допустимите стойности на променливата; например – целият тип int обхваща всички цели числа от интервала

[-32768, 32767 ]; не е така при double – там се вземат краен брой рационални числа от диапазона




Сподели с приятели:
1   2   3   4   5   6   7   8   9   ...   16




©obuch.info 2024
отнасят до администрацията

    Начална страница