Imsvale Skrevet 16. september 2013 Del Skrevet 16. september 2013 1010 0111 flipp: 0101 1000 add: 0101 1001 0101 1001 = 89 Svaret er -89 Bare fortsett å spør om du lurer på noe. Jeg er ikke utålmodig. Tror jeg skjønner hva du gjør her. Du ville finne ut hvilket desimaltall 1010 0111 er. Vi snakker forbi hverandre. Lenke til kommentar
Gavekort Skrevet 16. september 2013 Del Skrevet 16. september 2013 Konvertere: 1010 0111 (= -89 i 8-bit 2-kompliment). Flipp: 0101 1000 +1: 0101 1001 = 89 Hvor skulle problemet oppstått, mener du? Og hva er feil? Du fikk 89. Poenget mitt er at det ikke er 89, men -89. Lenke til kommentar
Manlulu Skrevet 16. september 2013 Forfatter Del Skrevet 16. september 2013 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? Lenke til kommentar
Imsvale Skrevet 16. september 2013 Del Skrevet 16. september 2013 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
Imsvale Skrevet 16. september 2013 Del Skrevet 16. september 2013 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
Gavekort Skrevet 16. september 2013 Del Skrevet 16. september 2013 (endret) 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 16. september 2013 av Gavekort Lenke til kommentar
Imsvale Skrevet 16. september 2013 Del Skrevet 16. september 2013 (endret) 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. 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. 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 16. september 2013 av Imsvale Lenke til kommentar
Manlulu Skrevet 17. september 2013 Forfatter Del Skrevet 17. september 2013 Jeg tror dere tror at jeg har drevet med binær utregning mye lenger enn det jeg faktisk har ;p det er ikke lenge siden jeg begynnte Men jeg ser hva dere skriver, og (tror) jeg lærer noe nytt hele tiden. Lenke til kommentar
Gavekort Skrevet 17. september 2013 Del Skrevet 17. september 2013 (endret) Å 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 17. september 2013 av Gavekort Lenke til kommentar
Manlulu Skrevet 17. september 2013 Forfatter Del Skrevet 17. september 2013 Jeg har så mye jeg skal lære meg for tiden, men skal huske å sjekke det ut. Hva er det? Lenke til kommentar
Imsvale Skrevet 17. september 2013 Del Skrevet 17. september 2013 Jeg har så mye jeg skal lære meg for tiden, men skal huske å sjekke det ut. Hva er det? I 8-bit Excess-N svarer 0000 0000 til desimaltallet -N, og så teller du oppover defra. Rett og slett en forskyvning. Se tabell på Wikipedia. Lenke til kommentar
Gavekort Skrevet 18. september 2013 Del Skrevet 18. september 2013 Excess-N er bare en splitt som deler f.eks 256 til -128 til 128. Veldig enkelt og greit. Lenke til kommentar
Djn Skrevet 18. september 2013 Del Skrevet 18. september 2013 (endret) 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 18. september 2013 av Djn Lenke til kommentar
Manlulu Skrevet 18. september 2013 Forfatter Del Skrevet 18. september 2013 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! 1 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå