A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

Hasonló dokumentumok
Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Programtervezési stratégiák. Top-down tervezés. Top-down tervezés. Bottom-up tervezés. 4.

Információs Technológia

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

A C nyelv aritmetikai típusai. Struktúrák.

A C nyelv aritmetikai típusai. Struktúrák.

C programozás. 2 óra A C nyelv típusai

A C nyelv eredete, fő tulajdonságai

Assembly programozás: 2. gyakorlat

Informatikai Rendszerek Alapjai

Típusok és konstansok

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

LEBEGŐPONTOS SZÁMÁBRÁZOLÁS

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Fixpontos és lebegőpontos DSP Számrendszerek

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

Programozás alapjai C nyelv 1. gyakorlat

Programozás alapjai C nyelv 1. gyakorlat

Harmadik gyakorlat. Számrendszerek

Aritmetikai utasítások I.

Dr. Oniga István DIGITÁLIS TECHNIKA 2

5. Fejezet : Lebegőpontos számok

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Kifejezések. Kozsik Tamás. December 11, 2016

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Objektumorientált Programozás I.

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

Készítette: Nagy Tibor István

5. Fejezet : Lebegőpontos számok. Lebegőpontos számok

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Java II. I A Java programozási nyelv alapelemei

Programozás I. C# bevezető. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 17.

Programozás I gyakorlat

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

Algoritmizálás és adatmodellezés tanítása 4. előadás

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Kifejezések. Kozsik Tamás. December 11, 2016

Adattípusok. Dr. Seebauer Márta. Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár

Máté: Számítógép architektúrák

Programozás 3. Dr. Iványi Péter

Digitális technika VIMIAA02 1. EA Fehér Béla BME MIT

Máté: Számítógép architektúrák

Programozás 1. Dr. Iványi Péter

Digitális technika VIMIAA02 1. EA

Programozott soros szinkron adatátvitel

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Szoftvertervezés és -fejlesztés I.

INFO1 Számok és karakterek

Digitális technika VIMIAA01

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

4. Fejezet : Az egész számok (integer) ábrázolása

Készítette: Nagy Tibor István

Verilog HDL ismertető 2. hét : 1. hét dia

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika VIMIAA01

Digitális technika (VIMIAA02) Laboratórium 1

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

(jegyzet) Bérci Norbert szeptember 10-i óra anyaga. 1. Számrendszerek A számrendszer alapja és a számjegyek

Digitális technika VIMIAA01

Számítógép architektúrák

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Alapfogalmak. Dr. Kallós Gábor A Neumann-elv. Számolóeszközök és számítógépek. A számítógép felépítése

Programozás alapjai. 5. előadás

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Objektumorientált Programozás II.

Imperatív és procedurális programozás a Javában

C programozás. 1 óra Bevezetés

Az Informatika Elméleti Alapjai

Programozás I gyakorlat

5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Bevezetés a számítástechnikába

2. Fejezet : Számrendszerek

Digitális technika VIMIAA hét

NAGYPONTOSSÁGÚ RACIONÁLIS-ARITMETIKA EXCEL VISUAL BASIC KÖRNYEZETBEN TARTALOM

Programozás II. 2. Dr. Iványi Péter

Digitális rendszerek. Utasításarchitektúra szintje

Bevezetés a C++ programozásba

Digitális technika VIMIAA hét

Adatszerkezetek I. 1. előadás

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

DIGITÁLIS TECHNIKA I BINÁRIS SZÁMRENDSZER BEVEZETŐ ÁTTEKINTÉS BINÁRIS SZÁMRENDSZER HELYÉRTÉK. Dr. Lovassy Rita Dr.

Bevezetés az informatikába

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Java programozási nyelv

Digitális jelfeldolgozás

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Programozás II. Segédlet az első dolgozathoz

Java II. I A Java programozási nyelv alapelemei

Átírás:

A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union - összetett: - tömb - struktúra Egész típusok A szabvány nem írja elő, de a gyakorlatban előjeles egészeket kettes komplemens kódban előjel nélküli egészeket bináris alakban ábrázolunk Előjel nélküli egészek bináris ábrázolása Előjeles egészek kettes komplemens kódú ábrázolása ovf.... 11...11...1...1 11...1 max. 1 2... 11...11...1...1 11...1-1 1-2 2 + + 1...1 1... 1...11 max min.. 1...1 1...11 1... ovf. 1

Az ábrázolás korlátai Előjeles eger típusok minimális hossz [bit] típus-megadás alakja minimális érték maximális érték Az adott implementációhoz az értékkészletet a <limits.h> file adja meg. rövid short short signed short signed short SHRT_MIN SHRT_MAX normál signed INT_MIN INT_MAX hosszú 32 signed signed LONG_MIN LONG_MAX Előjeles eger típusok Előjel nélküli eger típusok Szám-konstans alakja: Típus Számrendszer decimális oktális hexadeimális Példák 123-33 12 177777 x1a x7fff xaa1bb rövid normál minimális hossz [bit] típus-megadás alakja short short minimális érték maximális érték USHRT_MAX UINT_MAX - -L - -l vagy, ha az érték olyan nagy hosszú 32 ULONG_MAX Előjel nélküli eger típusok Szám-konstans alakja: Típus Példák <mha lenne>u <mha lenne>u <mha lenne>lu <mha lenne>ul <mha lenne>lu <mha lenne>ul vagy, ha az érték olyan nagy Automatikus ábrázolási mód ha nincs megadva U vagy L Amelyikbe a szám-konstans előbb belefér: 1. 2. oktális és hexa esetén 3. 4. 2

A short típusok csak az adat tárolási hosszát írják elő. Számításnál a... short típusú értéket automatikusan... típusúvá alakítja, és azzal számol. Ábrázolás: minimum 8 biten. Ez lesz a tárolás alapegysége típus-megadás alakja signed char char minimális érték SCHAR_MIN maximális érték SCHAR_MAX UCHAR_MAX char CHAR_MIN CHAR_MAX Egyszerű karakterek Különleges karakterek a kis a betű \ aposztróf A nagy A betű \ idézőjel : kettőspont \\ backslash \? kérdőjel \a hangjelzés Különleges karakterek Karakter megadása kódjával \n új sor \ nullás kódú karakter \f lapdobás \1 oktális szám \t tabulátor \x1 hexadecimális szám \v függőleges tabulátor \b visszatörlés 3

Lebegőpontos típusok A char típusok gyakorlatilag az egészekhez hasonlóan viselkednek. Számításnál a... char típusú értéket automatikusan... típusúvá alakítja, és azzal számol. Típus float Konstans alakja 12.3f.12F 12.F.5f 1E-3f 1.8e5f 12.3.12 12..5 1E-3 1.8e5 12.3L.12l 12.l.5L 1E-3l 1.8e5L Min. abs. érték FLT_MIN <= 1e-37 DBL_MIN <= 1e-37 <= m Max. abs. érték FLT_MAX >= 1e37 DBL_MAX >= 1e37 >= m Pontoság [dec. jegy] FLT_DIG >= 6 DBL_DIG >= 1 >= m Aritmetikai típusok konverziója Egyoperandusú konverzió értékadáskor Aritmetikai típusok konverziója Kétoperandusú konverzió műveletvégzéskor formális paraméter aktualizálásakor Alapelv : Túlcsordulás esetén érték megőrzése, ha lehet a kapott érték elvileg definiálatlan 4

Egészből egészbe NINCS túlcsordulás jelzés Ha a hosszésazelőjel is változik, akkor ebben a sorrendben. -1 : 1 1 1 1 1 1 1 1 1. hossz növelése: -1 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2. előjelesség váltása: : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Ha fordított lenne a sorrend: 1. előjelesség váltása: -1 : 1 1 1 1 1 1 1 1 2. hossz növelése: : 1 1 1 1 1 1 1 1 Mibl char, short rövidebb pl. short rövidebb pl. short hosszabb hosszabb rövidebb + - hosszabb hosszabb rövidebb rövidebb Mibe ugyanakkora hosszabb mindig, minden művetelt előtt Eredmény (felső bitek elvesznek) (felső bitek elvesznek) modulo 2 n, azaz ebbe = ezt + 2 n ( > ~_MAX!!!) Lebegőpontosból lebegőpontosba VAN túlcsordulás jelzés Mibl rövidebb lebegőpontos pl.: float Mibe hosszabb lebegőpontos Eredmény Egészből lebegőpontosba és vissza hosszabb rövidebb, pontosság csökkenhet VAN túlcsordulás jelzés 5

egész Mibl lebegőpontos lebegőpontos egész Mibe Eredmény ha lehet, a pontos érték megtartásával, ha nem: a legközelebbi két érték egyikére, ha nem lehet: túlcsordul törtrész elhagyásával, Lépések sorrendje kétoperandusú műveletek végrehajtása előtt. Ha egyik tömb vagy függvény, akkor mutatóvá konvertálódik 1. Egyoperandusú konverzió a hossz növelésére 2. A két operandus azonos típussá alakítása Egyik operandus float Másik operandus (, ) () () Közös, új típus float Példa: a=3; b=2.3; a=a*b; 3 3. * 2.3 6.9 6 6