User Tools

Site Tools


tanszek:oktatas:szamitastechnika:adat_tipusok

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
tanszek:oktatas:szamitastechnika:adat_tipusok [2026/10/21 17:36] – kneheztanszek:oktatas:szamitastechnika:adat_tipusok [2026/10/21 17:39] (current) – knehez
Line 69: Line 69:
 Az ''unsigned'' nem biztosít több bitet: a rendelkezésre álló bitmintázatokat más értéktartományhoz rendeli. Az ''unsigned'' nem biztosít több bitet: a rendelkezésre álló bitmintázatokat más értéktartományhoz rendeli.
  
-== Gyakori egész típusok ==+=== Gyakori egész típusok ===
  
 **Az alábbi méretek és tartományok gyakori megvalósításokat mutatnak, nem minden C-rendszerre érvényes előírások.** Kisebb mikrovezérlőkön például az ''int'' 16 bites is lehet. A táblázat előjeles tartományai kettes komplemens ábrázolásra vonatkoznak. **Az alábbi méretek és tartományok gyakori megvalósításokat mutatnak, nem minden C-rendszerre érvényes előírások.** Kisebb mikrovezérlőkön például az ''int'' 16 bites is lehet. A táblázat előjeles tartományai kettes komplemens ábrázolásra vonatkoznak.
Line 103: Line 103:
 **A pozitívnak szánt mennyiséghez nem kötelező unsigned típust választani.** Kezdő programokban az ''int'' sok számlálási feladathoz megfelelő. Az ''unsigned'' típus nem ellenőrzi helyettünk, hogy egy kivonás eredménye negatív lenne-e; az előjeles és előjel nélküli típusok keverése pedig meglepő eredményt okozhat. **A pozitívnak szánt mennyiséghez nem kötelező unsigned típust választani.** Kezdő programokban az ''int'' sok számlálási feladathoz megfelelő. Az ''unsigned'' típus nem ellenőrzi helyettünk, hogy egy kivonás eredménye negatív lenne-e; az előjeles és előjel nélküli típusok keverése pedig meglepő eredményt okozhat.
  
-== Mi történik, ha nem fér el az eredmény? ==+=== Mi történik, ha nem fér el az eredmény? ===
  
 Egy típusnak véges az értéktartománya. Az előjeles egész művelet túlcsordulásának nincs a C nyelv által meghatározott eredménye. **Nem támaszkodhatunk arra, hogy a legnagyobb pozitív szám után a legkisebb negatív következik.** Egy típusnak véges az értéktartománya. Az előjeles egész művelet túlcsordulásának nincs a C nyelv által meghatározott eredménye. **Nem támaszkodhatunk arra, hogy a legnagyobb pozitív szám után a legkisebb negatív következik.**
Line 116: Line 116:
 Ekkor a változó új értéke 0. Az összeadás itt előbb ''int'' típusban adja a 256-ot, majd az ''unsigned char'' típusba történő visszaalakítás eredménye 0 lesz. Ekkor a változó új értéke 0. Az összeadás itt előbb ''int'' típusban adja a 256-ot, majd az ''unsigned char'' típusba történő visszaalakítás eredménye 0 lesz.
  
-Mérnöki programban a körbefordulás gyakran hibás számlálást eredményez. A típust ezért a várható legnagyobb érték és a köztes számítások alapján válasszuk ki.+A programban a körbefordulás gyakran hibás számlálást eredményez. A típust ezért a várható legnagyobb érték és a köztes számítások alapján válasszuk ki.
  
 === Lebegőpontos típusok === === Lebegőpontos típusok ===
Line 156: Line 156:
 A ''long double'' nem feltétlenül pontosabb a ''double'' típusnál. Egyes környezetekben azonos a két típus pontossága. A memóriában elfoglalt méretből önmagában nem állapítható meg a pontosság: a tárolás kitöltő bájtokat is tartalmazhat. A ''long double'' nem feltétlenül pontosabb a ''double'' típusnál. Egyes környezetekben azonos a két típus pontossága. A memóriában elfoglalt méretből önmagában nem állapítható meg a pontosság: a tárolás kitöltő bájtokat is tartalmazhat.
  
-== Melyiket használjuk mérnöki számításhoz? ==+=== Melyiket használjuk mérnöki számításhoz? ===
  
 **Általános mérnöki számításoknál jó alapválasztás a double.** **Általános mérnöki számításoknál jó alapválasztás a double.**
Line 164: Line 164:
 A számítás pontosságát nem csak a választott típus, hanem a mérési adatok minősége és az alkalmazott számítási módszer is befolyásolja. A számítás pontosságát nem csak a választott típus, hanem a mérési adatok minősége és az alkalmazott számítási módszer is befolyásolja.
  
-== Példa: mérési felbontás nagy értéknél ==+=== Példa: mérési felbontás nagy értéknél ===
  
 A szokásos 32 bites ''float'' az 100000000 környezetében már nem tud minden egész számot külön ábrázolni. A szokásos 32 bites ''float'' az 100000000 környezetében már nem tud minden egész számot külön ábrázolni.
Line 197: Line 197:
 Az ''f'' utótag ''float'' típusú számállandót jelöl. Utótag nélkül az ilyen lebegőpontos számállandó ''double'' típusú. Például ''1.5f'' típusa ''float'', ''1.5'' típusa ''double''. Az ''f'' utótag ''float'' típusú számállandót jelöl. Utótag nélkül az ilyen lebegőpontos számállandó ''double'' típusú. Például ''1.5f'' típusa ''float'', ''1.5'' típusa ''double''.
  
-Sok hétköznapi tizedes tört, például a 0.1, kettes számrendszerben nem írható le véges számú számjeggyel. Ezért lebegőpontos tároláskor kerekítésre lehet szükség. A ''double'' is véges pontosságú, és önmagában nem szünteti meg ezt a jelenséget.+Korábban már bemutattuk, hogy sok hétköznapi tizedes tört, például a 0.1, kettes számrendszerben nem írható le véges számú számjeggyel. Ezért lebegőpontos tároláskor kerekítésre lehet szükség. A ''double'' is véges pontosságú, és önmagában nem szünteti meg ezt a jelenséget.
  
 === A művelet típusa is számít === === A művelet típusa is számít ===
tanszek/oktatas/szamitastechnika/adat_tipusok.txt · Last modified: by knehez