Gå til innhold
Trenger du skole- eller leksehjelp? Still spørsmål her ×

Rekne med binær, hex osv


Anbefalte innlegg

Videoannonse
Annonse

 

Du fikk 89. Poenget mitt er at det ikke er 89, men -89.

 

1010 0111 er -89, ja. Det er ikke vanskelig å finne ut hvilket negativt desimaltall dette representerer (noe jeg gjorde før jeg konverterte i oppgaven din). Men når du konverterer, så er hensikten først og fremst å bytte fortegn på desimaltallet og finne ut hvordan dette skrives på binærform, enten det er 1k eller 2k.

 

At du også kan bruke det til å finne ut hvilket negativt tall det opprinnelig var, er greit nok. Og da er det riktig som du sier, at du må bytte fortegnet på svaret du får etter konverteringen.

 

Som sagt, vi snakker forbi hverandre her.

Lenke til kommentar

Hvordan kan 0101 1001 være et negativt tall?

 

Må ikke 1010 0111 være et positivt tall? Ellers så ville du ikke hatt 0'en på den andre plassen fra venstre?

 

Han ville finne svaret på spørsmålet: Hvilket desimaltall er det 1010 0111 representerer i 8-bit 2-kompliment?

 

Da kan du konvertere, og få det positive tallet, og så snu fortegnet igjen for å få svaret på dette spørsmålet.

Lenke til kommentar

Hvordan kan 0101 1001 være et negativt tall?

 

Må ikke 1010 0111 være et positivt tall? Ellers så ville du ikke hatt 0'en på den andre plassen fra venstre?

 

Det er et negativt tall, det er nettopp det jeg vil du skal huske. Fordi 1010 0111 er et negativt tall.

 

0101 1001 er bare en del av utregningsprosessen, så det forteller deg absoluttverdien, uten hensyn til om det er positivt eller negativt.

 

Om du vil ignorere bakgrunnen så kan du bare legge til "Gjør om til negativt" som et siste steg i prosessen ved å konvertere tilbake fra base-2 til base-10.

 

1010 0111 forteller deg at det er et negativt tall, så da skal resultatet ditt være negativt. 1 som sign-bit sier negativt, så resultatet skal være negativt, enkelt og greit.

 

 

1010 0111 er -89, ja. Det er ikke vanskelig å finne ut hvilket negativt desimaltall dette representerer (noe jeg gjorde før jeg konverterte i oppgaven din). Men når du konverterer, så er hensikten først og fremst å bytte fortegn på desimaltallet og finne ut hvordan dette skrives på binærform, enten det er 1k eller 2k.

 

At du også kan bruke det til å finne ut hvilket negativt tall det opprinnelig var, er greit nok. Og da er det riktig som du sier, at du må bytte fortegnet på svaret du får etter konverteringen.

 

Som sagt, vi snakker forbi hverandre her.

 

Jess. Men det skal være -89, så om du forstår hvorfor det ble -89 og ikke 89 så tror jeg vi er på samme side.

Endret av Gavekort
Lenke til kommentar

Det er et negativt tall, det er nettopp det jeg vil du skal huske. Fordi 1010 0111 er et negativt tall.

 

0101 1001 er bare en del av utregningsprosessen, så det forteller deg absoluttverdien, uten hensyn til om det er positivt eller negativt.

 

Om du vil ignorere bakgrunnen så kan du bare legge til "Gjør om til negativt" som et siste steg i prosessen ved å konvertere tilbake fra base-2 til base-10.

 

1010 0111 forteller deg at det er et negativt tall, så da skal resultatet ditt være negativt. 1 som sign-bit sier negativt, så resultatet skal være negativt, enkelt og greit.

 

 

Jess. Men det skal være -89, så om du forstår hvorfor det ble -89 og ikke 89 så tror jeg vi er på samme side.

 

 

1010 0111 er -89. Det vet jeg utmerket godt. Trenger ikke konvertere for å finne ut det, men det er én måte å gjøre det på (og da, som du sier, ved å snu fortegnet igjen på svaret du får fra konverteringen flipp+1).

 

Hva som er svaret (hva det «skal være»), kommer an på spørsmålet du stiller. Jeg prøver å fortelle deg at vi stiller ulike spørsmål, derav forvirringen. :p

 

 

La oss ta et til eksempel:

1111 1011 - Dette er et negativt tall, det skal være -5

Du flipper det: 0000 0100 (Nå ble dette positivt, men det er bare fordi vi konverterer)

Så legger du til binær 1: 0000 0101

 

0000 0101 er 5 i binær, men så konverterte vi det fra 2s med et negativt sign-bit, så du må huske på at dette fortsatt skal være negativt. Så bare husk å konvertere resultatet til negativt, altså -5.

 

For å si det sånn, hvorvidt det fortsatt skal være negativt kommer an på hva du spør etter. :p

 

Noen ganger vil du konvertere 5 til -5 eller -5 til 5 (på binærform). Andre ganger vil du vite hva 1111 1011 står for.

 

Det er vel heller ingen eksplisitt sign bit i 1k og 2k. Implisitt, ja. Men hadde intensjonen vært sign bit, så er det vel ingen grunn til å endre de andre 7 bitene når du konverterer fra positiv til negativ eller omvendt. Du kan bare snu fortegnsflagget.

Endret av Imsvale
Lenke til kommentar

Å konvertere fra desimal til 2s er ikke vanskelig. Det var som jeg sa: Konverter til binært, flipp og legg til binært 1 om det er negativt.

 

Du kan også lære deg Excess-N om du vil forbedre dine kunnskaper enda mer. Det er ikke særlig vanskelig.

Endret av Gavekort
Lenke til kommentar

Excess-N er bare en splitt som deler f.eks 256 til -128 til 128. Veldig enkelt og greit.

 

Eventuelt kan man se på det som en bias - som kanskje er lettere å forklare:

 

Si du kan lagre tall fra og med 0 til og med 100, men du faktisk trenger -50 til +50. For å lagre et tall, legger du først til 50: -50 blir lagret som 0, 1 blir lagret som 51, og 50 blir lagret som 100. For å lese et tall trekker du fra 50 igjen: Hvis du leser 40, så betyr det -10. Det blir da Excess-50 .

 

I 8 bit er det greit å dele 255 på midten - som blir enten Excess-127 (-127 til +128), eller Excess-128 (-128 til +127).

 

Og om du virkelig vil ha noe å drive med, kan du se på hvordan floating-point virker. Det er egentlig ikke så vanskelig, men det er fryktelig mange unntak og spesialtilfeller i de standardene man faktisk bruker.

Endret av Djn
Lenke til kommentar

Jeg regner med vi kommer innpå dette på skolen. Akkurat nå vil jeg ta en ting av gangen, og skjønne det vi har om. Det er helt nytt, og en ny måte å bruke hode på føler jeg. Så om jeg tar mer enn en ting nå i begynnelsen, så går det fort i surr. Kommer tilbake om det er mer jeg lurer på.

 

Inntill da: Tusen takk for all hjelp! :w00t::w00t::w00t:

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...