Alapvető programozási átváltás valaki segít?
számrendszerek közötti átváltásról volna szó, a tanár egy bunkó...nem mondja el rendesen az anyagot a gondom az hogy nem értem hogy kell átváltani:
Decimálisból-Binálisba és vissza
Hexából-Decimálisba és vissza
Hexából-Binálisba és vissza
Értelmes válaszokat szeretnék. Köszönöm.
BinRis, R-el van nem L-el.
Én úgy szoktam hogy mindig binárisba váltom át így onnan könnyebb hexába illetve decimálisba.
Hexából binárisba-
Vegyük ezt az értéket: 9F H
Ez így néz ki binárisban: 1001 1111
Illetve így néz ki decimálisban: 159
A hexadecimális 9 az 1001-nek, az F pedig 1111-nek felel meg. Úgy kell lefordítani hogy külön veszed az értékeket és azokat megfogalmazod 4-4 bites formában. Értékét így deríted ki:
8 4 2 1 <- egyes helyen lévő egyesek száma
1 0 0 1 <- a bináris kódja a 9-nek
Ahogy látod a 8-as helyén egyes van így azt elraktározod szépen, a 4-es illetve 2-es helyén 0 szóval ott nem kell semmit. Az 1-es helyén viszont 1 áll így azt is elraktározod. A 2 összeadva 9. Az F tulajdonképpen 15-öt jelent de mivel 1 karakterben kellett megfogalmazni ezért csak F. A=10,B=11,C=12,D=13,E=14,F=15
8 4 2 1
1 1 1 1 <- F bináris kódja. Mivel mindenhol 1-es van ezért összeadod a 8-at a 4-et a 2-őt és az 1-et. Az eredmény 15, tehát F.
Binárisból decimálisba már más. Ott a szám jobb oldalától balra haladva minden egyes 0 vagy 1 más számot ad. Ott nem kell 4 bitenként felosztani mint hexadecimálisnál. Az 1001 1111 így lesz 151:
128 64 32 16 8 4 2 1
-1--0--0--1--1-1-1-1
Szépen összeadod azokat a számokat ahol 1-es van és voila, 159.
Egy pdf, leírásokkal.
Itt egy bináris szám: 1101011.101
A hexadecimális átváltás kényelme miatt én kitoldom mindig 0-val a megfelelő helyen. Hogy 8 biten jelenjen meg az 1101011 elé berakok egy 0-át és lesz belőle 01101011. A tizedes "vessző" utáni részhez is rakok egyet és lesz a 101-ből 1010. Itt azért pont mögé mert itt nem jobbról balra hanem balról jobbra számoljuk decimálisan illetve hexadecimálisan balról jobbra osztjuk 4-4 bitre.
Az egyszerűbb forma: 0110 1011.1010
Ez decimálisan ennyit tesz: 107.625
Hexadecimálisan meg ennyit: 6B.A H
A .1010-et a következő módon kell hexába fordítani. Balról jobbra 4 egységenként felosztjuk de a számozás sorrendje marad. Így fog kinézni:
8 4 2 1
1 0 1 0
Az érték 10, tehát hexában A.
Decimálisan a számozás máshogy van a tizedesvessző után.
0.5 | 0.25 | 0.125 | 0.0625 <-és így tovább feleződik.
-1--|--0---|---1---|---0 (csak azért rakok "-" illetve "|" jeleket hogy átláthatóbb legyen)
A 0.5 és a 0.125 helyén van 1-es így azokat kell összeadni és lesz belőle .625.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!