C++: Ha előjeles típusú változónak (signed) pozitív értéket adok akkor ez az érték is kettes komplemensképzéssel tárolódik?
Azt hiszem már értem, csak túlbonyolítottam a dolgot, viszont ez a TÍZES komplemensképzés érdekelne. Ha minden igaz -12 binárisan ábrázolva: 10100
??
"Nem ezzel van gondom de akkor nagyon röviden:"
a=10
"Mivel mindenhol ugyanúgy néz ki, ezért teljesen mindegy." Volt a válasz, mivel ugyanúgy néz ki a memóriaképe ezért egyértelműen kettes komplemensképzés nélkül.
"A kérdésed: 5 számjegyen a -12 TÍZES komplemensképzéssel? Akkor nem vágom; egyes/kettes-ről hallottam csak, a tízes komplemens mit takar?"
Tízes számrendszerbe ugyan erre az analógiára, ugyan úgy lehet mint kettes számrendszerbe kettes komplemensképzést számolni, de nem definíció szerint.
Jó ha ezen dolgok mögé látsz, látod a logikáját nem csak ész nélkül tudod hogy ez a szabály. Felmerült benned hogy miért pont így kell kettes komplemenst számolni? Ha megvan a miért akkor tudod hogy kell tízes komplenest számolni.
5 jegyen ábrázolva a -12 tízes számrendszerben tízes komplemensképzéssel: 99988 ?
Erre jutottam, lehet h nagy baromság:
kettes komplemensképzés tulajdonképpen:
a^n - abs(y)
ahol:
a: a számrendszer alapszáma
n: jegyek száma
y: ábrázolandó szám
az abs() nyilván abszolútértéket jelöl
Ebből következik:
Ha tízes rendszerben vagyunk és 5 jegyen ábrázolva a -12, így jön a 99988 érték. Ez még stimmel is mert a komplemensképzés lényege ha jól tudom 0-ra kiegészítés, és ez így 0 (jegy túlcsordulással ugyebár).
De ha nem a fent általánosított képletből indulok ki, akkor
Van a 12 szám, tízes számrendszerben. Jókérdés mit jelent itt a jegyeit az ellenkezőjére váltani. Az ellenkezője az a szám amivel ketten együtt a számrendszer alapszámáva egészítik ki egymást? Ha így vezetem le a negációt akkor is a 99988 értéket kapom (túlcsordulással) a maradékokra ügyelve.
Szóval mit alkottam, baromság az egész levezetés?
Így van nagyon jó. Most már érted.
Egy megtörtént eset:
Egy régen egy ismerősömnek rosszul kötötték be a vízórát, pont fordítva, a számláló egy csomó kilencest mutatott, mire kiderült. Tulajdon képen tízes komplemensbe mutatta a negatív mérési értéket.
Ez komoly, az egész levezetésem jó? Még az is hogy
"Jókérdés mit jelent itt a jegyeit az ellenkezőjére váltani. Az ellenkezője az a szám amivel ketten együtt a számrendszer alapszámáva egészítik ki egymást?"
?? Köszönöm a segítségeteket. Üdv
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!