7 svar
333 visningar
mekatronik 625
Postad: 21 dec 2021 10:46

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;

011100112

Jag skrev om det till två komplements form och får då: 100011012k

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

Smutsmunnen 1050
Postad: 21 dec 2021 10:58

Hur är uppgiften formulerad exakt?

mekatronik 625
Postad: 21 dec 2021 11:01 Redigerad: 21 dec 2021 11:04

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.

Smutsmunnen 1050
Postad: 21 dec 2021 11:06

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.

mekatronik 625
Postad: 21 dec 2021 11:07
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!

Smutsmunnen 1050
Postad: 21 dec 2021 11:08

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.

Programmeraren 3390
Postad: 21 dec 2021 11:33

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.)

mekatronik 625
Postad: 23 dec 2021 09:29
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!

Svara
Close