2. SzĂĄmĂĄbrĂĄzolĂĄs ================ Hol kerĂźlnek tĂĄrolĂĄsra az adatok? * MemĂłria * HĂĄttĂŠrtĂĄr A szĂĄmĂĄbrĂĄzolĂĄs tĂŠmakĂśrĂŠben nem szĂźksĂŠges foglalkoznunk a bitek tĂĄrolĂĄsĂĄnak fizikĂĄlis megvalĂłsĂtĂĄsĂĄval. **MemĂłria** * LineĂĄrisan cĂmezhetĹ rekeszek. * A cĂmzĂŠshez nem negatĂv egĂŠszeket hasznĂĄlunk. * A *pointer*/*mutatĂł* tulajdonkĂŠppen egy memĂłriacĂmet jelent. * A bit szintĹą elĂŠrĂŠs ĂĄltalĂĄban nem biztosĂtott. Byte-ok szintjĂŠn kell dolgozni, hogy hozzĂĄfĂŠrjĂźnk a bitekhez. A tĂĄrolĂłkra szokĂĄs *buffer* (angol nyelvbĹl) vagy *puffer* (nĂŠmet nyelvbĹl) nĂŠven hivatkozni. **Adatok vizsgĂĄlata** * MemĂłria esetĂŠben *memory dump* * Az adatok megtekintĂŠsĂŠhez, szerkesztĂŠsĂŠhez hexadecimĂĄlis szerkesztĹk hasznĂĄlhatĂłk. * *Hex Editor*, *Hexa Editor*, *Binary Editor* VĂŠges ĂĄbrĂĄzolĂĄs --------------- * AlapvetĹen bitmintĂĄkat rendelĂźnk szimbĂłlumokhoz. * VĂŠges szĂĄmĂş byte-on vĂŠges szĂĄmĂş bitminta van. Mit jelenthet a kĂśvetkezĹ byte? .. code:: bash 10110010 Az ĂĄbrĂĄzolt bitsorozatnak van kĂŠt kitĂźntetett bitje: * MSB: *Most Significant Bit* (legnagyobb helyiĂŠrtĂŠken szereplĹ bit) * LSB: *Least Significant Bit* (legkisebb helyiĂŠrtĂŠken szereplĹ bit) ĂbrĂĄzolĂĄssal kapcsolatosan egy tovĂĄbbi leĂrĂĄs: * https://www.bottomupcs.com/chapter01.xhtml ElĹjel nĂŠlkĂźli egĂŠszek ---------------------- * A 2-es szĂĄmrendszerbe tĂśrtĂŠnĹ ĂĄtĂrĂĄs kĂŠzenfekvĹ ĂĄbrĂĄzolĂĄsi mĂłdja. * A helyiĂŠrtĂŠkek a felĂrĂĄsban megfelelĹ sorrendben vannak. * A *hiĂĄnyzĂł* helyiĂŠrtĂŠkeket 0 ĂŠrtĂŠkekkel tĂśltjĂźk fel. 1 byte ~~~~~~ A C nyelv szerinti ``unsigned char`` tĂpus. MĂĄs nyelvekben pĂŠldĂĄul ``u8``. NĂŠzzĂźk meg a 94 ĂŠrtĂŠk ĂĄbrĂĄzolĂĄsĂĄt! .. math:: 94 = 1011110_{(2)} .. code:: [ 0 1 0 1 1 1 1 0 ] 7 6 5 4 3 2 1 0 HexadecimĂĄlis alakban: ``5E`` EllenĹrĂzzĂźk, hogy valĂłban Ăgy tĂśrtĂŠnik a tĂĄrolĂĄs! * TĂĄroljuk le egy fĂĄjlba az ĂŠrtĂŠket! * EllenĹrĂzzĂźk hexadecimĂĄlis szerkesztĹvel! * Olvastassuk vissza az ĂŠrtĂŠket! * Ărjuk ĂĄt (pĂŠldĂĄul ``AB``-re)! * SzĂĄmoljuk ki, hogy milyen ĂŠrtĂŠket vĂĄrnĂĄnk! * Visszaolvasva ellenĹrĂzzĂźk, hogy valĂłban annyi lett! **Adat kiĂrĂĄsa fĂĄjlba** .. literalinclude:: source_codes/value_writer.c **Adat visszaolvasĂĄsa fĂĄjlbĂłl** .. literalinclude:: source_codes/value_reader.c 2 byte ~~~~~~ A C nyelv szerinti ``unsigned short`` tĂpus. MĂĄs nyelvekben pĂŠldĂĄul ``u16``. VĂŠgezzĂźk el az elĹzĹ vizsgĂĄlatokat a 14274 ĂŠrtĂŠk esetĂŠn 2 byte-on! .. warning:: A byte-ok sorrendje vĂĄltozhat a szerint, hogy litte- vagy big endian byte-sorrendrĹl van-e szĂł! https://hu.wikipedia.org/wiki/B%C3%A1jtsorrend https://en.wikipedia.org/wiki/Endianness 4 byte ~~~~~~ A C nyelv szerinti ``unsigned int`` tĂpus. MĂĄs nyelvekben pĂŠldĂĄul ``u32``. VĂŠgezzĂźk el az elĹzĹ vizsgĂĄlatokat a 2966513 ĂŠrtĂŠk esetĂŠn 4 byte-on! .. warning:: A C nyelv csak relĂĄciĂł szintjĂŠn adja meg, hogy egy-egy tĂpusnak mennyi byte felel meg! EllenĹrĂzzĂźk ``sizeof`` segĂtsĂŠgĂŠvel, hogy a vizsgĂĄlt tĂpusok mĂŠrete megfelelĹ! .. literalinclude:: source_codes/type_sizes.c .. csv-table:: :header-rows: 1 "byte-ok szĂĄma","elĹjel nĂŠlkĂźli egĂŠsz","elĹjeles egĂŠsz" 1,``unsigned char``,``char`` 2,``unsigned short``,``short`` 4,``unsigned int``,``int`` 8,``unsigned long``,``long`` ElĹjeles egĂŠsz szĂĄmok --------------------- ElĹjelbit hasznĂĄlata ~~~~~~~~~~~~~~~~~~~~ * KĂŠzenfekvĹ megoldĂĄsnak tĂźnne. * Hogyan lenne hasznĂĄlhatĂł? Kettes komplemens ĂĄbrĂĄzolĂĄsi mĂłd ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A kettes komplemens kĂŠpzĂŠsĂŠnek lĂŠpĂŠsei: * Induljunk el a szĂĄmjegyeken az alacsonyabb helyiĂŠrtĂŠkektĹl a magasabbak felĂŠ. (*JobbrĂłl balra*) * MĂĄsoljuk ĂĄt az eredmĂŠnybe a biteket az elsĹ 1-essel bezĂĄrĂłlag. * A fennmaradĂł biteket negĂĄljuk. **TulajdonsĂĄgai** * A kettes komplemens kĂŠpzĂŠst egymĂĄs utĂĄn pĂĄros szĂĄmĂş alkalommal vĂŠgrehajtva mindig visszakapjuk az eredeti ĂŠrtĂŠket. * Az MSB jelzi, hogy az ĂŠrtĂŠk negatĂv-e. **PĂŠlda** ĂbrĂĄzoljuk a -20 ĂŠrtĂŠket 1 byte-on, 2-es komplemens ĂĄbrĂĄzolĂĄsi mĂłddal! .. math:: 20 = 10100_{(2)} .. code:: [ 0 0 0 1 0 1 0 0 ] 7 6 5 4 3 2 1 0 HexadecimĂĄlis alak: ``14`` Kettes komplemens: .. code:: [ 1 1 1 0 1 1 0 0 ] 7 6 5 4 3 2 1 0 HexadecimĂĄlis alak: ``EC`` * EllenĹrĂzzĂźk, hogy valĂłban Ăgy kerĂźl tĂĄrolĂĄsra! **PĂŠlda** ĂbrĂĄzoljuk a -1000 ĂŠrtĂŠket 2 byte-on! .. math:: 1000 = 3E8_{(16)} .. code:: [ 0 0 0 0 0 0 1 1 1 1 1 0 1 0 0 0 ] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Kettes komplemens: .. code:: [ 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 0 ] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 HexadecimĂĄlis alakban: ``FC18`` **PĂŠlda** Milyen ĂŠrtĂŠket ĂĄbrĂĄzolnak az ``ACDC`` hexadecimĂĄlis alakban megadott byte-ok elĹjeles egĂŠsz ĂĄbrĂĄzolĂĄsi mĂłdot feltĂŠtelezve? .. code:: [ 1 0 1 0 1 1 0 0 1 1 0 1 1 1 0 0 ] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Az ĂŠrtĂŠk az MSB alapjĂĄn negatĂv. Kettes komplemens: .. code:: [ 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 ] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Az ĂĄbrĂĄzolt ĂŠrtĂŠk a :math:`-5324_{(16)} = -21284`. EgĂŠszes szĂĄmĂĄbrĂĄzolĂĄsi tartomĂĄnyok ---------------------------------- .. csv-table:: :header-rows: 1 "byte-ok szĂĄma","bitek szĂĄma","elĹjel nĂŠlkĂźli","elĹjeles" 1,8,":math:`[0, 255]`",":math:`[-128, 127]`" 2,16,":math:`[0, 65535]`",":math:`[-32768, 32767]`" 3,24,":math:`[0, 2^{24}-1]`",":math:`[-2^{23}, 2^{23}-1]`" 4,32,":math:`[0, 2^{32}-1]`",":math:`[-2^{31}, 2^{31}-1]`" ,k,":math:`[0, 2^k-1]`",":math:`[-2^{k-1}, 2^{k-1}-1]`" Alul- ĂŠs tĂşlcsordulĂĄs --------------------- BitmintĂĄzatok ĂŠs ĂŠrtĂŠkek 4 bit esetĂŠn. .. csv-table:: :header-rows: 1 "bitminta","elĹjel nĂŠlkĂźli","elĹjeles" 0000,0,0 0001,1,1 0010,2,2 0011,3,3 0100,4,4 0101,5,5 0110,6,6 0111,7,7 1000,8,-8 1001,9,-7 1010,10,-6 1011,11,-5 1100,12,-4 1101,13,-3 1110,14,-2 1111,15,-1 * Hogy ha kilĂŠpĂźnk a szĂĄmĂĄbrĂĄzolĂĄsi tartomĂĄnybĂłl (alul vagy felĂźl) az nem feltĂŠtlenĂźl jĂĄr hibajelzĂŠssel. * Ilyen esetekben nem vĂĄrt ĂŠrtĂŠkeket kaphatunk. * 4 bit esetĂŠn, elĹjel nĂŠlkĂźli esetben pĂŠldĂĄul ha 12-hĂśz hozzĂĄadunk 7-et, akkor 3-mat kapunk. * 4 bit esetĂŠn, elĹjeles esetben, hogy ha pĂŠldĂĄul -5-bĹl kivonunk 7-et, akkor 4-et kapunk. * Az ĂĄtviteli bitet a processzor kezeli (*carry bit*). TĂśrtek ĂĄbrĂĄzolĂĄsa ----------------- EgĂŠszek formĂĄjĂĄban szĂĄmlĂĄlĂłval ĂŠs nevezĹvel ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ MegoldhatĂł, de ĂĄltalĂĄban nem praktikus. **PĂŠlda** ĂbrĂĄzoljuk a :math:`\dfrac{45}{87}` ĂŠrtĂŠket Ăşgy, hogy a szĂĄmlĂĄlĂłt ĂŠs a nevezĹt is elĹjel nĂŠlkĂźli egĂŠsz ĂŠrtĂŠkkĂŠnt kezeljĂźk! .. code:: [ 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 ] 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 A tĂśrt ĂŠrtĂŠke a ``2D57`` hexadecimĂĄlis alakban megadott byte-okon ĂĄbrĂĄzolhatĂł. Fix pontos ĂĄbrĂĄzolĂĄs ~~~~~~~~~~~~~~~~~~~~ RĂśgzĂtjĂźk, hogy mennyi bit-et szeretnĂŠnk az egĂŠsz ĂŠs a tĂśrt rĂŠsz tĂĄrolĂĄsĂĄra hasznĂĄlni. **PĂŠlda** TegyĂźk fel, hogy 1 byte-on szeretnĂŠnk tĂśrt ĂŠrtĂŠkeket ĂĄbrĂĄzolni. A biteket a kĂśvetkezĹkĂŠppen csoportosĂtjuk (ebben a sorrendben): * 1 bit elĹjel bit, * 4 bit egĂŠszrĂŠsz (elĹjel nĂŠlkĂźli egĂŠszkĂŠnt), * 3 bit tĂśrtrĂŠsz. ĂbrĂĄzoljuk a -11,75 ĂŠrtĂŠket! .. code:: [ 1 1 0 1 1 1 1 0 ] 7 6 5 4 3 2 1 0 HexadecimĂĄlis alakban a ``DE`` byte-on ĂĄbrĂĄzolhatĂł. LebegĹpontos ĂĄbrĂĄzolĂĄsi mĂłd ~~~~~~~~~~~~~~~~~~~~~~~~~~~ **NormalizĂĄlt szĂĄm** A szĂĄmokat az egysĂŠges ĂĄbrĂĄzolĂĄs, majd kĂŠsĹbbi tĂĄrolĂĄs ĂŠrdekĂŠben egysĂŠges alakra hozzuk. .. math:: \text{<elĹjel>} 1,\text{<szignifikĂĄns>} \cdot 2^{<\text{kitevĹ}>} PĂŠldĂĄul a :math:`-1,110101_{(2)} \cdot 2^{4}` esetĂŠben * az elĹjel negatĂv, * a szignifikĂĄns :math:`110101_{(2)}`, * a kitevĹ 4. https://en.wikipedia.org/wiki/Significand **SzabvĂĄny** IEEE 754 szabvĂĄny, William Kahan, Berkeley Egyetem, 1985. https://en.wikipedia.org/wiki/IEEE_754-1985 .. csv-table:: :header-rows: 1 tĂpus,elĹjel,"eltolt kitevĹ",szignifikĂĄns,Ăśsszesen egyszeres pontossĂĄg,1 bit,8 bit,23 bit,32 bit dupla pontossĂĄg,1 bit,11 bit,52 bit,64 bit A kitevĹ ĂĄbrĂĄzolĂĄsĂĄhoz a normalizĂĄlt alakban szereplĹ kitevĹ kerĂźl eltolĂĄsra: * egyszeres pontossĂĄg esetĂŠn 127-el, * dupla pontossĂĄg esetĂŠn 1023-mal. A szabvĂĄny a normalizĂĄlt szĂĄmĂĄbrĂĄzolĂĄs mellett egyĂŠbb eseteket is megkĂźlĂśnbĂśztet. Egyszeres pontossĂĄg esetĂŠn a kĂśvetkezĹ formĂĄban. .. csv-table:: :header-rows: 1 elĹjel,"eltolt kitevĹ",szignifikĂĄns,byte-ok,jelentĂŠse 0,00000000,000...0,00 00 00 00,+0 1,00000000,000...0,80 00 00 00,-0 0,11111111,000...0,7F 80 00 00,:math:`+\infty` 1,11111111,000...0,FF 80 00 00,:math:`-\infty` 0 vagy 1,00000000,tetszĹleges nem 0,,denormalizĂĄlt szĂĄm 0 vagy 1,11111111,tetszĹleges nem 0,,NaN DenormalizĂĄlt szĂĄmok: * A nem tĂĄrolt bitet 0-nak tekintjĂźk. .. math:: \text{<elĹjel>} 0,\text{<szignifikĂĄns>} \cdot 2^{-126} https://en.wikipedia.org/wiki/Subnormal_number **PĂŠlda** ĂbrĂĄzoljuk a 119,6875 ĂŠrtĂŠket egyszeres lebegĹpontos szĂĄmĂĄbrĂĄzolĂĄssal! .. math:: &119 = 1110111_{(2)} \\ &0,6875 = 0,1011_{(2)} \\ &119,6875 = 1110111,1011_{(2)} NormalizĂĄlt alak: .. math:: 1,1101111011_{(2)} \cdot 2^{6} KitevĹ: 6 :math:`\Rightarrow` Eltolt kitevĹ: 6 + 127 = 133 .. math:: 133 = 10000101_{(2)} .. code:: [ 01000010 11101111 01100000 00000000 ] HexadecimĂĄlis alakban: ``42 EF 60 00`` TetszĹleges pontossĂĄgĂş szĂĄmĂĄbrĂĄzolĂĄs ------------------------------------ * *Arbitrary Precision* * TulajdonkĂŠppen a szĂĄmjegyeket tĂĄrolhatjuk. * FĹkĂŠnt szimbĂłlikus szĂĄmĂtĂĄsok esetĂŠben hasznĂĄljĂĄk. KĂŠrdĂŠsek ======== * SzĂĄmĂĄbrĂĄzolĂĄs esetĂŠn minek a rĂśvidĂtĂŠse az MSB ĂŠs az LSB? * Melyek azok az egĂŠsz ĂŠrtĂŠkek, amelyek megegyeznek a kettes komplemensĂźkkel? * NormalizĂĄlt szĂĄmĂĄbrĂĄzolĂĄs esetĂŠn egyszeres, ĂŠs dupla pontossĂĄgĂş lebegĹpontos szĂĄmoknĂĄl milyen intervallumon vĂĄltozhat a kitevĹ? * Egyszeres pontossĂĄgĂş lebegĹpontos szĂĄmĂĄbrĂĄzolĂĄs esetĂŠn mennyi *nem szĂĄm* szimbĂłlum van? * Adjunk pĂŠldĂĄt olyan valĂłs ĂŠrtĂŠkre, amely nem ĂĄbrĂĄzolhatĂł (pontosan) a szabvĂĄnyban megadott lebegĹpontos szĂĄmkĂŠnt! * Adjon pĂŠldĂĄt (hexadecimĂĄlis alakban) NaN ĂŠrtĂŠkre egyszeres lebegĹpontos szĂĄmĂĄbrĂĄzolĂĄs esetĂŠn! * Adja meg a :math:`-\infty` ĂŠrtĂŠket hexadecimĂĄlis alakban, egyszeres lebegĹpontos szĂĄmĂĄbrĂĄzolĂĄst feltĂŠtelezve! Feladatok ========= SzĂĄmjegyek szĂĄmĂĄrĂłl szĂłlĂł tĂŠtel ------------------------------- * Ha egy szĂĄm 61 jegyĹą kettes szĂĄmrendszerben, akkor hĂĄny jegyĹą lesz 16 ĂŠs 10-es szĂĄmrendszerben? * Ha egy szĂĄm 9 jegyĹą 16-os szĂĄmrendszerben, akkor hĂĄgy jegyĹą lesz 10-esben ĂŠs kettesben? * Mennyi byte-on lehet ĂĄbrĂĄzolni a Neptun kĂłdokat? Mi lenne, ha nem lennĂŠnek benne szĂĄmjegyek? * TegyĂźk fel, hogy egy mĂŠrt ĂŠrtĂŠkrĹl tudjuk, hogy az egy nemnegatĂv egĂŠsz ĂŠrtĂŠk, ĂŠs maximum :math:`10^{10}` lehet az ĂŠrtĂŠke. LegalĂĄbb mennyi bit szĂźksĂŠges ahhoz, hogy biztosan ĂĄbrĂĄzolni tudjuk az elĹfordulĂł ĂŠrtĂŠkeket? EgĂŠszek ĂĄbrĂĄzolĂĄsa ------------------ * ĂbrĂĄzoljuk az 5985-Ăśt elĹjel nĂŠlkĂźli egĂŠsz szĂĄmkĂŠnt 2, 3 ĂŠs 4 byte-on! Az eredmĂŠnyt hexadecimĂĄlis alakban adjuk meg! * Mennyi byte szĂźksĂŠges a -281, -512 ĂŠs a -14890 ĂŠrtĂŠkek ĂĄbrĂĄzolĂĄsĂĄhoz? VĂĄltsuk ĂĄt a 14889 ĂŠs a -2488 szĂĄmokat 2-es szĂĄmrendszerbe! * LegalĂĄbb mennyi bit szĂźksĂŠges az ĂĄbrĂĄzolĂĄsukhoz? * Adjuk Ăśssze Ĺket 2-es szĂĄmrendszerben! * Az Ăśsszeget szĂĄmoljuk vissza 10-es szĂĄmrendszerbe, ĂŠs ellenĹrĂzzĂźk! Adjon pĂŠldĂĄt olyan 4 byte-os egĂŠsz szĂĄmra, amely litte- ĂŠs big endian ĂĄbrĂĄzolĂĄs esetĂŠben is ugyanolyan formĂĄban nĂŠz ki. Ărja fel a hexadecimĂĄlis alakot ĂŠs az ĂĄbrĂĄzolt ĂŠrtĂŠket! TĂśrtes ĂĄbrĂĄzolĂĄs ---------------- TĂśrteket Ăşgy szeretnĂŠnk ĂĄbrĂĄzolni, hogy a szĂĄmlĂĄlĂł 2 byte-os elĹjeles egĂŠsz, a nevezĹ pedig 2 byte-os elĹjel nĂŠlkĂźli egĂŠsz. (A nevezĹ nem lehet 0. EgymĂĄst kĂśvetĹ 2-2 byte-rĂłl van szĂł.) * Melyik a legkisebb ĂŠs a legnagyobb ĂĄbrĂĄzolhatĂł ĂŠrtĂŠk? * Mi lesz a legnagyobb ĂĄbrĂĄzolhatĂł negatĂv ĂŠrtĂŠk? * Milyen ĂŠrtĂŠket ĂĄbrĂĄzolnak az ``EC 81 00 3B`` hexadecimĂĄlis alakban megadott byte-ok? * Milyen byte-okon ĂĄbrĂĄzolhatĂł (hexadecimĂĄlis alakban felĂrva) a 0,03129 ĂŠrtĂŠk? * Melyik a legkisebb, 0-nĂĄl nagyobb ĂĄbrĂĄzolhatĂł ĂŠrtĂŠk? Fix pontos ĂĄbrĂĄzolĂĄs -------------------- TĂśrteket szeretnĂŠnk ĂĄbrĂĄzolni a kĂśvetkezĹ sĂŠma szerint 2 byte-on: * 1 elĹjelbit, * 10 bit egĂŠszrĂŠsz (elĹjel nĂŠlkĂźli egĂŠszkĂŠnt), * 5 bit tĂśrtrĂŠsz. (A rĂŠszek ilyen sorrendben kĂśvetik egymĂĄst.) VĂĄlaszoljuk meg az alĂĄbbi kĂŠrdĂŠseket! * Mennyi kĂźlĂśnbĂśzĹ ĂŠrtĂŠket tudunk Ăgy ĂĄbrĂĄzolni? * Melyik a legkisebb ĂŠs a legnagyobb ĂĄbrĂĄzolhatĂł ĂŠrtĂŠk? Hogyan nĂŠznek ki ezek a byte-ok hexadecimĂĄlis alakban? * Melyik a legkisebb, 0-nĂĄl nagyobb ĂĄbrĂĄzolhatĂł ĂŠrtĂŠk? Hogyan nĂŠznek ki a byte-ok hexadecimĂĄlis alakban? * Milyen ĂŠrtĂŠket ĂĄbrĂĄzolnak az ``F8 AC`` byte-ok? Az ĂĄbrĂĄzolĂĄsi mĂłd szerint Ăśssze szeretnĂŠnk adni a ``31 0B`` ĂŠs a ``0E 99`` ĂŠrtĂŠkeket. * Mi lesz az eredmĂŠny byte-ok ĂŠrtĂŠke hexadecimĂĄlis alakban? Hogyan ĂĄbrĂĄzolhatĂł a :math:`-\dfrac{3157}{32}` ĂŠrtĂŠk? TegyĂźk fel, hogy adott az ``E4 BB`` ĂŠrtĂŠk fix pontos ĂĄbrĂĄzolĂĄs mellett. * TĂŠrjĂźnk ĂĄt egyszeres lebegĹpontos ĂĄbrĂĄzolĂĄsi mĂłdra, ĂŠs adjuk meg az ĂĄbrĂĄzolĂĄs sorĂĄn kapott byte-ok ĂŠrtĂŠkĂŠt hexadecimĂĄlis alakban! LebegĹpontos ĂŠrtĂŠkek ĂĄbrĂĄzolĂĄsa ------------------------------- * Ărjuk ĂĄt a :math:`0,110101_{(2)}`, :math:`0,1201_{(3)}` ĂŠs a :math:`0,AB1E_{(16)}` ĂŠrtĂŠkeket 10-es szĂĄmrendszerbe! * Ărjuk ĂĄt a :math:`0.1`, :math:`0.15` ĂŠs :math:`0.625` ĂŠrtĂŠkeket 2-es ĂŠs 16-os szĂĄmrendszerbe! * VizsgĂĄljuk meg a helyiĂŠrtĂŠkes ĂŠs a Horner-sĂŠmĂĄs ĂĄtĂrĂĄst is! Ărjuk fel kettes szĂĄmrendszerbe a kĂśvetkezĹ ĂŠrtĂŠkeket! .. math:: 0.42578125_{10}, \quad 0.70312_{10}, \quad 0.74_{10}, \quad 0.14062_{10}, \quad 0.15_{10}, \quad 0.ABCD_{16} EllenĹrĂzzĂźk helyiĂŠrtĂŠkesen ĂŠs Horner sĂŠmĂĄval is! ĂbrĂĄzoljuk egyszeres lebegĹpontos szĂĄmĂĄbrĂĄzolĂĄssal a kĂśvetkezĹ ĂŠrtĂŠkeket! .. math:: 149.765625, \quad -0.7, \quad 7513.625, \quad 0.41, \quad 9.7 SzĂĄmĂtsuk ki, hogy milyen ĂŠrtĂŠkeket ĂĄbrĂĄzolnak a kĂśvetkezĹ byte-ok egyszeres lebegĹpontos ĂĄbrĂĄzolĂĄst feltĂŠtelezve! .. math:: 8AC20000, \quad FE90C000, \quad 14011000, \quad C5D20000, \quad 7D3C8000 ĂbrĂĄzoljuk egyszeres lebegĹpontos szĂĄmokkĂŠnt a kĂśvetkezĹket: -51000.3046875, 0.9, 3.6, 4.78125, 3.141592 85EA0000, ABCD0000, FCA20000, 90909090 Adjuk meg a vĂŠgtelen ĂŠrtĂŠkeket egyszeres pontossĂĄggal! Egyszeres lebegĹpontos szĂĄmĂĄbrĂĄzolĂĄst feltĂŠtelezve milyen ĂŠrtĂŠket ĂĄbrĂĄzol a 7F801000? Egyszeres pontossĂĄggal milyen ĂŠrtĂŠkeket ĂĄbrĂĄzolnak a kĂśvetkezĹ byte-ok? .. math:: 66 1B 0C 42, \quad 66 1B 0A 1F TĂśltsĂźk ki az alĂĄbbi tĂĄblĂĄzatot! .. csv-table:: duplaszĂł hexĂĄban, ``FA00AB87``, ``10203040``, ``DEADBEEF`` elĹjel nĂŠlkĂźli,,, elĹjeles,,, egyszeres lebegĹpontos,,, Szorozza meg az egyszeres pontossĂĄgĂş, lebegĹpontos szĂĄmkĂŠnt ``9E CD 70 00`` byte-okon ĂĄbrĂĄzolt ĂŠrtĂŠket :math:`2^{70}`-el! (ElegendĹ a hexadecimĂĄlis alakot megadni vĂŠgeredmĂŠnykĂŠnt!) Mennyivel ĂĄll tĂśbb szĂĄmjegybĹl a :math:`47^{23}` ĂŠrtĂŠk 12-es szĂĄmrendszerben felĂrt alakja, mint a :math:`25^{19}` szĂĄm 9-es szĂĄmrendszerben felĂrt alakja?