binäratal
1- Omvandla följande tal till binärtal förutsatt att tvåkomplementmetoden används för att representera negativa tal.
a) -36
svar: 10100100
hur kom vi fram till detta?
2- Omvandla följande binärtal till bas 10 förutsatt att tvåkomplementmetoden används för att representera negativa tal.
a): 11001001
svar: -73
Kan du skriva 36 som ett binärt tal?
Vet du vad tvåkomplementsform (tvåkomplementsmetoden) innebär?
Det verkar som att man bestämt sig för en ordlängd på 8 platser. Det är antingen standard för det du håller på med eller så har det nämnts i uppgiften.
Så 36 skulle skrivas som 00100100 och -36 som 10100100 då en 1:a i den mest signifikanta biten visar att det är ett negativt tal.
Observera att det bara fungerar om man har en fast ordlängd.
Det fungerar, men det använder inte tvåkomplementmetoden. Enligt den blir -36 -> 11011100 (dvs den vanliga binärformen av 256 - 36).
Strunta i vad jag skrev. Tänkte på något annat.
HT-Borås skrev :Det fungerar, men det använder inte tvåkomplementmetoden. Enligt den blir -36 -> 11011100 (dvs den vanliga binärformen av 256 - 36).
kan du göra det lite tydligare så jag förstår?
Tvåkomplementmetoden är, som sagt ett sätt att beskriva negativa binära tal.
För att använda den måste man först bestämma hur många bitar varje tal ska ha, ett vanligt antal är 8 bitar dvs 1 byte man får då -128 < x <127 istället för 0<x<255 som annars skulle vara fallet.
För att skapa ett negativt tal tar men först talet som ett positivt tal med utfyllnad av nollor till vänster för att få upp det i rätt antal bitar. Sedan ändrar man alla nollor till ettor och ettor till nollor för att avsluta med att lägga till 1. Resultatet blir det negativa tal som motsvarar det positiva tal vi började med.
Exempel: -47 med 8 bitars tal
45 (10) = 101101(2) vi utökar nu detta till 8 bitar och får
00101101 gör om alla ettor till nollor och vice versa
11010010 lägger till 1 och får
11010011 detta är nu -47 i 8 bitars tvåkomplement
Kontroll:
00101101
+ 11010011
=100000000
Eftersom vi jobbar med 8 bitars tal försvinner 1 an i 9onde biten och vi får 0, dvs 47+(-47)=0