Binära tal två komplementsform
Blir lite fundersam kring hur logiken fungerar för den här uppgiften. Frågan är om detta tal kan representeras som ett negativt tal på två komplements form, alltså detta;
Jag skrev om det till två komplements form och får då:
Om man skall omvandla detta till ett decimalt tal så blir det -256+8+4+1=-243 decimalt men enligt facit kan det inte vara ett negativt tal på 2k form. Varför är det inte så? Första biten är ju 1 så det bör vara negativt
Hur är uppgiften formulerad exakt?
Detta är från en gammal tenta, rad d är rätt svar.
Har klurat ut alla andra villkor förutom varför den sista är rätt, den längst till höger.
Ja men precis, du skrev "representeras" där det står "representera". Det förvirrade mig lite.
Men nu är ju uppgiften jätteenkel, talet börjar på 0, negativa tal på 2k-form börjar på 1, så bitmönstret kan inte representera ett negativt tal på 2k-form.
Smutsmunnen skrev:Ja men precis, du skrev "representeras" där det står "representera". Det förvirrade mig lite.
Men nu är ju uppgiften jätteenkel, talet börjar på 0, negativa tal på 2k-form börjar på 1, så bitmönstret kan inte representera ett negativt tal på 2k-form.
Jaha okej, jag trodde man skulle omvandla talet till 2k-form och sedan se ifall det var negativt. Men de syfta då på själva bitmönstret. Tack!
Ja men precis, men observera också att när du "skriver om talet till 2k-form" så är det talets invers du representerar, inte talet.
Viktigt att du är med på att binärt (01110011) = decimalt 115 också är på två-komplementsform eftersom alla positiva tal som ryms inom bitlängden är likadana i två-komplementsform. Därför måste man generellt veta hur många siffror (bitar) som talet har/kan ha för att veta vilken position som är tecknet.
(Ditt tal 10001101 motsvarar decimalt -115 och inte -243.)
Programmeraren skrev:Viktigt att du är med på att binärt (01110011) = decimalt 115 också är på två-komplementsform eftersom alla positiva tal som ryms inom bitlängden är likadana i två-komplementsform. Därför måste man generellt veta hur många siffror (bitar) som talet har/kan ha för att veta vilken position som är tecknet.
(Ditt tal 10001101 motsvarar decimalt -115 och inte -243.)
Juste, man skall tänka position 0-7 och inte 1-8. Glömde bort det också när jag räknade på det, tack för påminnelsen!