Знайте, Intuit, лекция система за цифров вид данни

Анотация: Дисциплината на тази лекция е да се проучи данните на системата за цифров вид. Практически примери, както и основни дефиниции и понятия

Основната цел на всяка приложна програма е да се трансформират оригиналните данни в съответствие с предварително определен алгоритъм и голяма част от изходните данни обикновено е представена от цифрова информация. В този раздел ще разгледаме под формата на количествени данни в записа в програми за C, C ++, както и набор от операции, които могат да се използват за всякакъв вид цифрови данни. Системата за мандат. използва в заглавието на този раздел, това означава, че данните от този тип са "естествени" в системата за програмиране. Те не трябва да бъдат описани, че не е необходимо да се определи как да се извърши аритметика, или някакви други операции върху данните от тези видове. Понякога данните се нарича основа. Като правило, видове системи за данни на алгоритмични езици повтарят форматите цифри, които се предоставят от командите на машината система PC.

3.1. Числени типове данни и тяхното представяне в паметта на компютъра

3.1.1. Вътрешният представяне на данни число

За да съхраните целочислени данни, които са влезли в IBM PC с помощта на допълнителен двоичен код. Тази функция се отнася само до отрицателни числа. За да се получи отрицателно число на допълнителен код е необходимо да включите всички битове на съответната положителна номер и добавете по една към MSB. Например:

Знайте, Intuit, лекция система за цифров вид данни

Допълнителен код позволява приблизително 25% ускори операции като събиране и изваждане.

3.1.2. Байт число данни

Най-малки са данните число със знак, представени в памет PC IBM-съвместим от един байт, които могат да се настанят всяко число в интервала от -128 до 127, записана в допълнителен код. В C, C ++, да обяви променливи от този тип се използват спецификатор овъгляване. В един байт могат също да бъдат разположени и най-късата положително цяло. В терминологията на такива номера С съответстващ спецификатор неподписан овъгляване. Обхватът на валидни данни по този начин измества надясно и е равна на [0, 255].

3.1.3. данни двубайтовите число

3.1.4. данни Четири байта цяло число

За да се опише четири байта цяло число тип данни в езика С, C ++ използва спецификатори дълго (еквивалентно на дълго Int) и неподписан дълго. визуална среда за програмиране на C ++ Builder Спецификаторите INT и дълго са еквивалентни.

3.1.5. Осем данни байта цяло число

Въпреки факта, че микропроцесори IBM PC отдавна се поддържа от формат число осем байт, който осигурява редица -2 63-2 63 -1. система за програмиране, за дълго време избягва този формат, или да го използва по специален начин. Например, Turbo Pascal система, основана на този тип формат на данните, предлагани на комп. който е бил прикрепен към категорията на данни в реално тип. В съвременните визуални медии, този тип данни в естествената си форма е числен вид int64 обекти. В близко бъдеще системата ще се възползва от програмиране и изключително дълго цяло число тип данни int128 на.

3.2. Вътрешният представяне на реални типове данни

За вътрешно представяне на данните на реалната тип се характеризира с факта, че в съответната област памет съхранение на два компонента на - мантиса т и р ред. Излишно номер х в този случай е продукт на т * 2 стр. По този начин, мантисата определя броя на значещи цифри и знак, както и реда - точка положение, което се дължи на това, тъй като "плава" между значещи цифри (оттук и терминът - формат с плаваща запетая). Този метод за представяне на числова информация позволява един и същ брой битове, разпределени за съхраняване на номера значително разширява обхвата на валидни данни.

Ние се опитваме да се изчисли печалбата от порядъка на допустимите количества, което осигурява формат недвижими данни в сравнение с число формат. Разполагате с 32-битови двоични числа. Целочислени стойности със знак в този формат ви позволяват да работите с числа, принадлежащи на интервала на модул [0, 2 х 10 септември]. Да приемем, че за плаваща запетая в 32-битова дума запазено 1 бит за знак на числото, 8 бита за процедурата, а останалите 23 изхвърлянето - мантиса. Има предвид, че минималната изводим брой е равна на произведението на минималната мантисата (2 1) до минималната ред (2 -128), т.е. 2 -129. че съответства приблизително 10 -39. Най-големият брой на модула е продукт на (1-2 -23) * 2 127. че съответства приблизително 10 38. По този начин, ако цялата брой припокриващи диапазон 9 порядъци, формат с плаваща запетая в същото малко думата обхваща набор от 77 порядъци. Въпреки това, трябва да се отбележи, както и загубата на броя на значещи цифри. 32-битово цяло число формат поддържа 10 значещи цифри, докато реалните данни 23-битова мантисата ви позволяват да работите от 7-8 знака след десетичната знаци.

Най-често използваните видове реални числа, представени кратко (4 байта) и дължина (8 байта) на данни. Кратко недвижими формат осигурява модул представяне на номера в обхвата от около 10 -38 10 38 7-8 значими цифри след десетичната запетая. За гама формат 8-байт се разшири значително - от 10 -308 до 10 308. и броя на значещи цифри се увеличава до 15-16. Coprocessor IBM PC предлага разширени данни в реално desyatibaytovy формат, обхващащи диапазона (в абсолютна стойност) от 10 до 10 4932 -4932 и запазва 19-20 значещи цифри.

представителството на машината на недвижими данни от различни видове в IBM PC, не се поддържа някаква обща идеология. Причината е, по всяка вероятност, различните слоеве на хардуера на предходните решения, взети по време на разработването на процесори за различните отдели на Intel. Следователно, има появят такива нюанси като спестяване в RAM или не да се запази най-маловажният бит на мантисата. представяне на мантисата под формата на чист фракционна (0.5 <= m <1 ) или смешанного ( 1 <= m <2 ) числа и т.п. Прикладных программистов эти детали мало интересуют, однако при создании специальных системных компонент с точным представлением данных приходится считаться.

3.3. Външното представителство на числени константи

Програмите в C, C ++ има буквални и именувани числови константи число или реален вид. Числовите константи. Както се използва тук, програмите в аритметична или логически изрази наречени буквални. Те са представени с цифровите литерали - цифри, знаци + или - точки разделящи цялата част на фракцията, десетични показателите ред. Например:

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

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

Като естествен граничен пункт (3.1415), или около десетичната показалка (314.159265e-02, 314.159265E-02) означава, че съответната стойност е представена в компютъра под формата на недвижим плаваща запетая.

Освен естественото представяне на числови константи като цяло число или реален брой езици за програмиране позволяват различни добавки в началото ( "представки") или край ( "наставки") брой средства за определяне на преобразуване и съхранение на данни в паметта на компютър.

Езикът за програмиране C се използва активно като представки и наставки

  • 0x5,0X5 - шестнадесетично число (префикс - 0x или 0X);
  • 05 - осмично число (префикс - значително нула в началото);
  • 5Н, 5Н - кратко число (суфикс - Н или Н от къси)
  • 5U, 5u - положително цяло (суфикс - ф или U. от Неподписан);
  • 5HU, 5hu, 5Hu, 5hU - кратко положително цяло;
  • 5L, 5л - дълго число (суфикс - L L. или от дълго);
  • 5LU, 5lu, 5Lu, 5lU - дълго положително цяло;
  • 5е, 5F - кратко реално число (суфикс - F или F. от поплавък);
  • 5 Lf 5FL, 5fl, 5 Lf 5 Lf 5 Lf 5Fl, 5fL - дълго реално число.

Език на въвеждане BCB визуално програмиране система допълнително позволява използването на следните наставки:

  • i8 - за еднобайтови подписани числа (например 127i8)
  • i16 - за двубайтовите подписани числа;
  • i32 - за четири байта, подписани числа;
  • i64 - за осем байта подписани числа;
  • ui64 - за осем байта неподписани числа.