Repræsentation af tal

Relaterede dokumenter
Repræsentation af tal

Repræsentation af tal

CPUer og maskinkode DM534. Rolf Fagerberg

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

Det endelige tal fremkommer ved at opstille bogstavkombinationer, hvor følgende regler gælder:

Talsystemer I V X L C D M Hvad betyder halvanden??. Kan man også sige Halvtredie???

ITS MP 013. Talsystemer V009. Elevens navn. IT Skolen Boulevarden 19A-C 7100 Vejle Tel.:

(Positions) Talsystemer

En uægte brøk er en brøk der stadig kan forkortes ned til et blandet tal og som er større end Eksempel: Uægte brøk: 12

Med TI-89 / TI-92 Plus kan du også sammenligne eller manipulere binære tal bit for bit.

Grundlæggende Matematik

Bits, bit operationer, integers og floating point

Grundlæggende køretidsanalyse af algoritmer

Grundlæggende Matematik

Regning. Mike Vandal Auerbach ( 7) 4x 2 y 2xy 5. 2x + 4 = 3. (x + 3)(2x 1) = 0. (a + b)(a b) a 2 + b 2 2ab.

Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse.

Negative cifre n. I et positionssystem skriver man et tal på formen xn a + xn 1a

Elementær Matematik. Tal og Algebra

Det binære talsystem og lidt om, hvordan computeren virker

Symbolbehandlingskompetencen er central gennem arbejdet med hele kapitlet i elevernes arbejde med tal og regneregler.

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Om at udregne enkeltstående hexadecimaler i tallet pi

De 4 regnearter. (aritmetik) Navn: Klasse: Matematik Opgave Kompendium. Opgaver: 42 Ekstra: 5 Point:

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 7. november 2015 Slide 1/25

Fagårsplan 12/13 Fag: Matematik Klasse: 3.A Lærer:LBJ Fagområde/ emne At regne i hovedet

CITIZEN TM CX-85. Strimmelregner. Instruktionsmanual

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

FAGLIG REGNING Pharmakon, farmakonomuddannelsen september 2007

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 27. oktober 2014 Slide 1/25

dcomnet-nr. 6 Talrepræsentation Computere og Netværk (dcomnet)

Eksamen dcomnet 2012Q4. Årskortsnummer Navn

Specielle tegn. Specielle tegn. Specielle tegn...1 Indhold:...1 Teori og praksis...1 Koder...2 Brug af symboler...5

En forståelsesramme for de reelle tal med kompositioner.


Omskrivningsregler. Frank Nasser. 10. december 2011

Tal og Regneoperationer

TIN15. Rydning, sletning og nulstilling w. Displayindikatorer. Generelle oplysninger. Grundlæggende operationer. Display og rulning "!

Matematik. Grundforløbet. Mike Auerbach (2) Q 1. y 2. y 1 (1) x 1 x 2

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Matematik opgave Projekt afkodning Zehra, Pernille og Remuss

Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)

Teoretiske Øvelsesopgaver:

Projekt Træningsmaskine

På en digital indgang kan en computer kun se forskel på, om en kontakt er tændt eller slukket. Men til gengæld er den hurtig og god til at regne.

Basal Matematik 2. Navn: Klasse: Matematik Opgave Kompendium. Opgaver: 67 Ekstra: 7 Mundtlig: 1 Point:

Tal. Vi mener, vi kender og kan bruge følgende talmængder: N : de positive hele tal, Z : de hele tal, Q: de rationale tal.

Figur 0.1: To kredsløb hvor en operationsforstærker bliver brugt som komparator. [1]

Computerstøttet beregning

De rigtige reelle tal

Noter til C# Programmering Selektion

Matematisk modellering og numeriske metoder. Lektion 15

TAL I MÆNGDER ELEVMÅL FOR KAPITLET HUSKELISTE OM KAPITLET FAGLIGE BEGREBER FÆLLES MÅL ELEVFORUDSÆTNINGER

1. Montering af papirrullen 2. Udskiftning af blækrullen Bemærk: 2. Udskiftning af batterier

Boolsk algebra For IT studerende

DM507 Algoritmer og datastrukturer

Konstruktionen af de reelle tal gennem decimaltalsrepræsentation og Dedekind-snit

1121 PD L. Brugervejledning

APPENDIX A INTRODUKTION TIL DERIVE

Oprids over grundforløbet i matematik

OM KAPITLET ELEVFORUDSÆTNINGER LÆS OG SKRIV MATEMATIK. 6. Det vil derfor være relativt nyt for de fleste elever, at

Boolsk algebra For IT studerende

NAVN: KLASSE: Talforståelse og positionssystem. Multiplikation Division Brøker. Ligninger og funktioner. Koordinatsystemet Rumfang Procent

Grundliggende regning og talforståelse

Tip til 1. runde af Georg Mohr-Konkurrencen Kombinatorik

Spor 2. numeralitet. Afdækning af. hos nyankomne elever. Elever på 9 år eller ældre TRIN

Andreas Nielsen Kalbyrisskolen 2009

Iteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber

ALMINDELIGT ANVENDTE FUNKTIONER

Det vigtigste ved læring af subtraktion er, at eleverne

Brøker og forholdstal

Mattip om. Færdighedsregning på mellemtrinnet. Du skal øve: Kan ikke Kan næsten Kan. Addition (plusstykker) Subtraktion (minusstykker)

Grundlæggende regneteknik

Et alfabet er en ordnet mængde af bogstaver og andre tegn

1 Videnskabens værktøj

Leg med Brikker & Brokker. Et system til undervisning i brøkregning

Matematisk modellering og numeriske metoder

HP 6S Videnskabelig kalkulator

Årsplan for matematik i 4. klasse

Medicinsk billeddannelse

Noter til Perspektiver i Matematikken

Lidt om Bits & Bytes. Talsystemer

Mat C HF basisforløb-intro side 1. Kapitel 1. Fortegnsregler og udregningsrækkefølger

Transkript:

Repræsentation af tal DM534 Rolf Fagerberg

Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion (program) Pixels (billedfil) Amplitude (lydfil).

Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion (program) Pixels (billedfil) Amplitude (lydfil). Fokus her: heltal og decimaltal (kommatal).

Talsystemer Tital-systemet: 4532

Talsystemer Tital-systemet: 4532 = 4 1000 + 5 100 + 3 10 + 2 1

Talsystemer Tital-systemet: 4532 = 4 1000 + 5 100 + 3 10 + 2 1 = 4 10 3 + 5 10 2 + 3 10 1 + 2 10 0

Talsystemer Tital-systemet: 4532 = 4 1000 + 5 100 + 3 10 + 2 1 = 4 10 3 + 5 10 2 + 3 10 1 + 2 10 0 Grundtal: 10 Cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (fordi 10 10 i = 10 i+1 )

Talsystemer Tital-systemet: 4532 = 4 1000 + 5 100 + 3 10 + 2 1 = 4 10 3 + 5 10 2 + 3 10 1 + 2 10 0 Grundtal: 10 Cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (fordi 10 10 i = 10 i+1 ) Syvtal-systemet: 4532 7 = 4 7 3 + 5 7 2 + 3 7 1 + 2 7 0 = 4 343 + 5 49 + 3 7 + 2 1 = 1640

Talsystemer Tital-systemet: 4532 = 4 1000 + 5 100 + 3 10 + 2 1 = 4 10 3 + 5 10 2 + 3 10 1 + 2 10 0 Grundtal: 10 Cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (fordi 10 10 i = 10 i+1 ) Syvtal-systemet: 4532 7 = 4 7 3 + 5 7 2 + 3 7 1 + 2 7 0 = 4 343 + 5 49 + 3 7 + 2 1 = 1640 Grundtal: 7 Cifre: 0, 1, 2, 3, 4, 5, 6 (fordi 7 7 i = 7 i+1 )

Total-systemet 1011 2 = 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 = 1 8 + 0 4 + 1 2 + 1 1 = 11 Grundtal: 2 Cifre: 0, 1 (fordi 2 2 i = 2 i+1 )

Total-systemet 1011 2 = 1 2 3 + 0 2 2 + 1 2 1 + 1 2 0 = 1 8 + 0 4 + 1 2 + 1 1 = 11 Grundtal: 2 Cifre: 0, 1 (fordi 2 2 i = 2 i+1 ) Relevante for computere fordi to-delte valg er nemmest at repræsentere rent fysisk (1 = strøm, 0 = ikke strøm). Total-systemet kaldes også det binære talsystem.

Addition Addition fungerer ens i alle talsystemer, blot med grundtal udskiftet. Tital-systemet: 1 1 1 1 5432 +96781 = 102213

Addition Addition fungerer ens i alle talsystemer, blot med grundtal udskiftet. Tital-systemet: Total-systemet: 1 1 1 1 5432 +96781 = 102213 1 1 1 1110 2 +11100 2 = 101010 2

Addition Addition fungerer ens i alle talsystemer, blot med grundtal udskiftet. Tital-systemet: Total-systemet: 1 1 1 1 5432 +96781 = 102213 1 1 1 1110 2 +11100 2 = 101010 2 Subtraktion, multiplikation, division fungerer også ens. F.eks. 1010 2 1110 2 = 10001100 2 (Check: 10 14 = 140) 1101011 2 :101 2 = 10101 2, rest 10 2 (Check: 107:5 = 21, rest 2)

Konvertering til binært talsystem Find cifrene fra højre til venstre i den binære representation af et positivt heltal N: X = N Sålænge X > 0: Næste ciffer = rest ved heltalsdivision X /2 X = kvotient ved heltalsdivision X /2

Konvertering til binært talsystem Find cifrene fra højre til venstre i den binære representation af et positivt heltal N: X = N Sålænge X > 0: Næste ciffer = rest ved heltalsdivision X /2 X = kvotient ved heltalsdivision X /2 Eksempel: N = 25: Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1 = 2(2 6 + 0) + 1

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1 = 2(2 6 + 0) + 1 = 2(2(2 3 + 0) + 0) + 1

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1 = 2(2 6 + 0) + 1 = 2(2(2 3 + 0) + 0) + 1 = 2(2(2(2 1 + 1) + 0) + 0) + 1

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1 = 2(2 6 + 0) + 1 = 2(2(2 3 + 0) + 0) + 1 = 2(2(2(2 1 + 1) + 0) + 0) + 1 = 2(2(2(2(2 0 + 1) + 1) + 0) + 0) + 1

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1 = 2(2 6 + 0) + 1 = 2(2(2 3 + 0) + 0) + 1 = 2(2(2(2 1 + 1) + 0) + 0) + 1 = 2(2(2(2(2 0 + 1) + 1) + 0) + 0) + 1 = 2 5 0 + 2 4 1 + 2 3 1 + 2 2 0 + 2 1 0 + 2 0 1

Hvorfor virker det? Heltalsdivision Kvotient Rest 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 25 = 11001 2 25 = 2 12 + 1 = 2(2 6 + 0) + 1 = 2(2(2 3 + 0) + 0) + 1 = 2(2(2(2 1 + 1) + 0) + 0) + 1 = 2(2(2(2(2 0 + 1) + 1) + 0) + 0) + 1 = 2 5 0 + 2 4 1 + 2 3 1 + 2 2 0 + 2 1 0 + 2 0 1 Bemærk at sidste division altid er 1/2 (med kvotient 0 og rest 1): X bliver 1 på et tidspunkt, da man ved en heltalsdivision med 2 hele tiden gør X mindre, men ikke kan komme fra heltal 2 til heltal 0.

Repræsentationer af heltal Talrepræsentationer bruger (næsten altid) et fast antal bits (så operationer kan implementeres effektivt). k bits = 2 k forskellige bitmønstre

Repræsentationer af heltal Talrepræsentationer bruger (næsten altid) et fast antal bits (så operationer kan implementeres effektivt). k bits = 2 k forskellige bitmønstre Positive heltal: det binære talsystem giver en naturlig repræsentation. k = 4 : 0111 7 0110 6 0101 5 0100 4 0011 3 0010 2 0001 1 0000 0 1111 15 1110 14 1101 13 1100 12 1011 11 1010 10 1001 9 1000 8

Negative heltal Forskellige forslag for k bit heltal: A Sign bit: Første bit = fortegn, resten af bits er binært talsystem. B Excess: tæl op fra 2 k 1 med binært talsystem. C Two s complement: Første bit angiver 2 k 1 i stedet for 2 k 1, ellers som binært talsystem.

Negative heltal Forskellige forslag for k bit heltal: A Sign bit: Første bit = fortegn, resten af bits er binært talsystem. B Excess: tæl op fra 2 k 1 med binært talsystem. C Two s complement: Første bit angiver 2 k 1 i stedet for 2 k 1, ellers som binært talsystem. Eksempel med k = 4: A B C 0111-7 -1 7 0110-6 -2 6 0101-5 -3 5 0100-4 -4 4 0011-3 -5 3 0010-2 -6 2 0001-1 -7 1 0000-0 -8 0 A B C 1111 7 7-1 1110 6 6-2 1101 5 5-3 1100 4 4-4 1011 3 3-5 1010 2 2-6 1001 1 1-7 1000 0 0-8

Two s complement Repræsentationen two s complement har mange gode egenskaber (og vælges ofte): Fortegn kan ses af første bit. Simpel metode til at skifte fortegn findes. Den almindelige metode til addition virker også for negative tal. Ingen ekstra logiske kredsløb for disse (sparer transistorer på CPU). Subtraktion kan laves ved at vende fortegn og addere. Ingen logiske kredsløb for subtraktion (sparer transistorer på CPU).

Two s complement Repræsentationen two s complement har mange gode egenskaber (og vælges ofte): Fortegn kan ses af første bit. Simpel metode til at skifte fortegn findes. Den almindelige metode til addition virker også for negative tal. Ingen ekstra logiske kredsløb for disse (sparer transistorer på CPU). Subtraktion kan laves ved at vende fortegn og addere. Ingen logiske kredsløb for subtraktion (sparer transistorer på CPU). Metode til at skifte fortegn: Kopier bits fra højre til venstre til og med første 1-bit. Resten af bits inverteres. Eksempel: 6 = 0110 1010 = -6

Decimaltal Fast decimalpunkt: Tital-systemet: 45.32 = 4 10 + 5 1 + 3 1/10 + 2 1/100 = 4 10 1 + 5 10 0 + 3 10 1 + 2 10 2

Decimaltal Fast decimalpunkt: Tital-systemet: 45.32 = 4 10 + 5 1 + 3 1/10 + 2 1/100 = 4 10 1 + 5 10 0 + 3 10 1 + 2 10 2 Det binære talsystem: 10110.111 2 = 1 2 4 + 0 2 3 + 1 2 2 + 1 2 1 + 0 2 0 + 1 2 1 + 1 2 2 + 1 2 3 = 1 16 + 0 8 + 1 4 + 1 2 + 0 1 + 1 1/2 + 1 1/4 + 1 1/8 = 22 7 8 = 22.875

Flydende decimalpunkt Flydende decimalpunkt (alias videnskabelig notation): Tital-systemet: 0.00000456 = ( 1) 4.56 10 6 Fortegn: 1 Eksponent: 6 Mantisse: 4.56

Flydende decimalpunkt Flydende decimalpunkt (alias videnskabelig notation): Tital-systemet: 0.00000456 = ( 1) 4.56 10 6 Binært: Fortegn: 1 Eksponent: 6 Mantisse: 4.56 0.01101 2 = ( 1) 1.101 2 2 2 Sign bit: 1 (sign bit 1 for negativt tal) Eksponent: 010 (-2 i excess notation (3 bits)) Mantisse bits: (1)101 (første bit underforstået) Der afsættes et fast antal bits til hver af de tre dele. Her: 1, 3, 4. Så resultatet er 1 010 1010.

Begrænsninger Heltal (N, Z) og reelle tal (R) er uendelige talmængder. Hvis der afsættes et fast antal (k) bits fås et endeligt antal (2 k ) forskellige bitmønstre.

Begrænsninger Heltal (N, Z) og reelle tal (R) er uendelige talmængder. Hvis der afsættes et fast antal (k) bits fås et endeligt antal (2 k ) forskellige bitmønstre. Ikke alle tal kan repræsenteres!

Begrænsninger Heltal (N, Z) og reelle tal (R) er uendelige talmængder. Hvis der afsættes et fast antal (k) bits fås et endeligt antal (2 k ) forskellige bitmønstre. Viser sig f.eks. ved Overflow maxint + maxint =? Rounding errors Ikke alle tal kan repræsenteres! Stort tal + meget lille tal = stort tal. (a + b) + c a + (b + c) hvis f.eks. a + b ikke kan repræsenteres exakt.

Begrænsninger Heltal (N, Z) og reelle tal (R) er uendelige talmængder. Hvis der afsættes et fast antal (k) bits fås et endeligt antal (2 k ) forskellige bitmønstre. Viser sig f.eks. ved Overflow maxint + maxint =? Rounding errors Ikke alle tal kan repræsenteres! Stort tal + meget lille tal = stort tal. (a + b) + c a + (b + c) hvis f.eks. a + b ikke kan repræsenteres exakt. I praksis opleves sjældent problemer pga. et stort antal bits i talrepræsentationerne. Alternativt findes programmeringsbiblioteker der implementerer f.eks. vilkårligt store heltal (under brug af variabelt antal bits, samt tab af effektivitet).

Hexadecimal notation Gruppér bits i grupper af 4 (dvs. 16 forskellige muligheder): 0110 1010 1110 01...

Hexadecimal notation Gruppér bits i grupper af 4 (dvs. 16 forskellige muligheder): 0110 1010 1110 01... Vælg 16 tegn: 0111 7 0110 6 0101 5 0100 4 0011 3 0010 2 0001 1 0000 0 1111 F 1110 E 1101 D 1100 C 1011 B 1010 A 1001 9 1000 8

Hexadecimal notation Gruppér bits i grupper af 4 (dvs. 16 forskellige muligheder): 0110 1010 1110 01... Vælg 16 tegn: 0111 7 0110 6 0101 5 0100 4 0011 3 0010 2 0001 1 0000 0 1111 F 1110 E 1101 D 1100 C 1011 B 1010 A 1001 9 1000 8 0110 1010 1110 01... = 6AE...

Hexadecimal notation Gruppér bits i grupper af 4 (dvs. 16 forskellige muligheder): 0110 1010 1110 01... Vælg 16 tegn: 0111 7 0110 6 0101 5 0100 4 0011 3 0010 2 0001 1 0000 0 1111 F 1110 E 1101 D 1100 C 1011 B 1010 A 1001 9 1000 8 0110 1010 1110 01... = 6AE... NB: kan også bruges som cifre i et talsystem med grundtal 16.