A feladatom a C1CA 16 bites szám leolvasása természetes számként és egészként. Valaki segítene?
Szóval 3 módszer van:
1, Bináris átalakítás:
C1CA=49610=1100000111001010
utóbbinak a kettes komplementere
1100000111001010
+ 1
1100000111001011
Eszerint: N=49610
Z=-(2^15)+(2^14+2^8+2^7+2^6+2^3+2)=-15926
2, Z=-1*16^4+12*16^3+1*16^2+12*16^1+10=-15926
3, Helyettesítéssel:
0 15 F
1 14 E
2 13 D
3 12 C
4 11 B
5 10 A
6 9
7 8
Így:
C1CA=3135
Eszerint:
3135
+ 1
3136
Eszerint Z=-(3*16^3+1*16^2+3*16^1+6*16^0)=-12598
Pedig elvileg ugyanannak kellett volna kijönnie... Nem? De mi a hiba? többször is átszámoltam, nem találom...
Vagy 9AC8
1, Bináris átalakítás:
9AC8=39624=1001101011001000
utóbbinak a kettes komplementere
0110 0101 0011 0111
+ 1
0110 0101 0011 1000
Eszerint: N=39624
Z=-(2^14)+(2^13+2^10+2^8+2^5+2^4+2^3)=-6856
2, Z=-1*2^16+(2^15+2^12+2^11+2^9+2^7+2^6+2^3)=-25912
3, Helyettesítéssel:
0 15 F
1 14 E
2 13 D
3 12 C
4 11 B
5 10 A
6 9
7 8
Így:
9AC8=6537
Eszerint:
6537
+ 1
6538
Eszerint Z=-(6*16^3+5*16^2+3*16^1+8*16^0)=-25912
Szóval hogy lehet, hogy az első számnál a 3., a második számnál pedig az 1. módszer rossz eredményt ad? Elszámoltam volna mégis?
Köszönöm a válaszokat előre is!
Először is nem természetes meg egész számoknak mondjuk hanem előjeles és előjeltelen (fixpontos) egészeknek.
Nem értem ott mit csinálsz ahol rossz eredmény jön ki.
Az első esetében behelyettesítve ez jön ki:
-1*16^4+12*16^3+1*16^2+12*16^1+10*16^0 = -15926
Először is ilyet nem írunk, hogy C1CA=3135, ha jól számolsz akkor sem. Már értem, hogy mit akartál csinálni.
Rosszul helyettesítettél.
C1CA -> 3E35
3E35 + 1 = 3E36
-(3*16^3+14*16^2+3*16^1+6*16^0) = -15926
A másikat meg még jobban eltoltad.
Ha nem megy akkor a binárisan felírt számot négyes csoportokba tagolva feleltesd meg a 16-os számrendszerbeli szám egy-egy számjegyének.
Mj.:
Illik jelölni ha 16-os vagy 2-es számrendszerben van felírva a szám akkor ha nem egyféle számrendszerben vannak felírva a számok.
A tízest nem szokás külön jelölni. A kettest 0b előtaggal , a 16-ost 0x előtaggal vagy $ jellel szokás vagy ha lehetőség van rá alsó indexbe írva a számrendszer alapszámát.
Minek így elbonyolítani?
C1CA, vagyis 12*4096+1*256+12*16+10*1=49610
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!