Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4

Relevanta dokument
Digital- och datorteknik

Datoraritmetik. Binär addition papper och penna metod. Binär subtraktion papper och penna metod. Binär multiplikation papper och penna metod

Digital- och datorteknik

Binär addition papper och penna metod

Digital- och datorteknik

Datorsystemteknik DVG A03 Föreläsning 3

Digital Aritmetik Unsigned Integers Signed Integers"

F2 Binära tal EDA070 Datorer och datoranvändning

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Digital- och datorteknik

ÖH kod. ( en variant av koden används i dag till butikernas streck-kod ) William Sandqvist

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

EDA216 Digital- och datorteknik Ext-1 Ext-17 (Ext-16 saknas) VT14

Talrepresentation. Heltal, positiva heltal (eng. integers)

Digital elektronik CL0090

Syfte. Positivt om negativa tal. Hur möjliggör du för eleverna att förstå. Innehåll. Fler begrepp. Begrepp 3 5 = 3 (-5) = -3 (-3) -

Digital- och datorteknik

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

DIGITALA TAL OCH BOOLESK ALGEBRA

F2 Datarepresentation talbaser, dataformat och teckenkodning

Armin Halilovic: EXTRA ÖVNINGAR

Armin Halilovic: EXTRA ÖVNINGAR

H1009, Introduktionskurs i matematik Armin Halilovic

IE1204 Digital Design

IE1205 Digital Design: F6 : Digital aritmetik 2

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk)

Block 1 - Mängder och tal

TAL OCH RÄKNING HELTAL

Lösningsförslag tenta

2-1: Taltyper och tallinjen Namn:.

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

2-5 Decimaltal Namn: Inledning. Vad är ett decimaltal, och varför skall jag arbeta med dem?

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Grundläggande Datorteknik Digital- och datorteknik

Block 1 - Mängder och tal

Föreläsning 8: Aritmetik och stora heltal

a) A = 3 B = 4 C = 9 D = b) A = 250 B = 500 C = a) Tvåhundrasjuttiotre b) Ettusenfemhundranittio

Det finns en hemsida. Adressen är

EDA216. Digital- och datorteknik. Diverse kompletterande material

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

DOP-matematik Copyright Tord Persson Övning Bråkräkning. Matematik 1. Uppgift nr 14 Addera 9. Uppgift nr 15 Addera 3. Uppgift nr 16 Subtrahera

Laboration Kombinatoriska kretsar

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

Övningsblad 1.1 A. Tallinjer med positiva tal. 1 Skriv det tal som motsvaras av bokstaven på tallinjen.

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Linjära ekvationer med tillämpningar

Begrepp :: Determinanten

Lokal studieplan Matematik 3 8 = 24. Centrum för tvåspråkighet Förberedelseklass

Bonusmaterial till Lära och undervisa matematik från förskoleklass till åk 6. Ledning för att lösa problemen i Övningar för kapitel 5, sid

Datorsystem. Övningshäfte. Senast uppdaterad: 22 oktober 2012 Version 1.0d

TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter

Dra streck. Vilka är talen? Dra pil till tallinjen. Skriv på vanligt sätt. Sätt ut <, > eller =

2-4: Bråktal addition-subtraktion. Namn:.

2-7: Bråk-förlängning Namn:.. Inledning

Ett tal kan vara en eller flera siffror men en siffra är alltid ensam. - + Talsort ental, tiotal, hundratal osv siffran 7 är tiotal

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 4. b) = 3 1 = 2

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Matematik klass 1. Vår-terminen


Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Lokala kursplaner i Matematik Fårösunds skolområde reviderad 2005 Lokala mål Arbetssätt Underlag för bedömning

Extrauppgifter för CPU12

Programmering II (ID1019) :00-11:00

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Laboration Kombinatoriska kretsar

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs B, kapitel 2

LEU431. Digital- och datorteknik. Diverse kompletterande material

Matematik klass 3. Vårterminen. Anneli Weiland Matematik åk 3 VT 1

TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter

jämföra/storleksordna talen jämföra/storleksordna talen Jag kan jämföra/storleksordna talen

Talmängder. Målet med första föreläsningen:

Digital- och datorteknik. Lars-Eric Arebrink. vid flera tillfällen. Betyg 4: 36 poäng Betyg 5: 48 poäng

Ur kursplanen för ämnet matematik I detta arbetsområde ska eleven utveckla sin förmåga att:

Specifikation av spelen i Rutiga Familjen

Övningsblad2.3Ä. 2 0, 3 j 5. Addition och subtraktion av heltal med algoritm. IQ '-^ff 2 tiotal - 4 tiotal går inte. ' "-Ii? 5 «1.

TENTAMEN(Nu anpassad till FLIS- processorn)

1Mer om tal. Mål. Grunddel K 1

Extramaterial till Matematik Y

SF1661 Perspektiv på matematik Tentamen 24 oktober 2013 kl Svar och lösningsförslag. z 11. w 3. Lösning. De Moivres formel ger att

Matematik klass 2. Höstterminen. Anneli Weiland Matematik åk 2 HT 1

Tenta i Digitalteknik

Manual matematiska strategier. Freja. Ettan

Snabbslumpade uppgifter från flera moment.

Repetition av matematik inför kurs i statistik 1-10 p.

Addition och subtraktion generalisering

Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen.

3-3 Skriftliga räknemetoder

a) 1 b) 4 a) b) c) c) 6 a) = 4 b) = 6 c) = 6 1. Hur många? Ringa in talet. 2. Vilket tal kommer efter? 4. Beräkna. 3. Hur många?

Ordlista 1A:1. siffra. tal. antal. räkneord. Dessa tio ord ska du träna. Öva orden

Digital- och datorteknik

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Sidor i boken 8-9, 90-93

Tentamen i Digitalteknik, EITF65

Inledande kurs i matematik, avsnitt P.4

Styrteknik: MELSEC FX och numeriska värden

CE_O3. Nios II. Inför lab nios2time

Utvidgad aritmetik. AU

Transkript:

Ext-6 (Ver 2010-08-09) 1(5) Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4 Tecken-beloppsrepresentation av heltal Hur skall man kunna räkna med negativa tal i ett digitalt system, t ex en dator. Det enda man kan arbeta med är ju binära siffror, dvs 0 och 1. En enkel metod vore ju att avdela en siffra för tecknet, t ex 0 för + (plus) och 1 för - (minus) och använda resten av siffrorna för talets storlek (absolutbelopp). Med 8 bitars ordlängd kan man då skriva t ex talet +14 = +1110 2 som Teckenbit 0 0001110 Belopp och talet -19 som Teckenbit 1 0010011 Belopp För 8-bitars tal blir talområdet [-(2 8-1 -1),+(2 8-1 -1)] = [-127,+127]. Teckenbyte görs genom invertering av teckenbiten. Tecken-beloppsrepresentation blir dock mycket besvärlig att använda i praktiken när man skall addera eller subtrahera. Se följande exempel. Addition Exempel: (+7) + (+5) = + (7+5) = +12 (+7) + (-5) = + (7-5) = +2 (-7) + (+5) = - (7-5) = -2 Subtraktion (-7) + (-5) = - (7+5) = -12 Det som från början såg ut som en addition kan senare visa sig bli en subtraktion. Dessutom måste man hålla reda på och bilda rätt tecken.

Ext-6 (Ver 2010-08-09) 2(5) 2-komplementrepresentation av heltal En enkel lösning på problemet tal med tecken får man med 2-komplementrepresentation. Denna innebär att man behåller positiva tal som de är. Negativa tal byts ut mot 2- komplementet (egentligen 2 n -komplementet, där n är antalet bitar i talet) av motsvarande positiva tal. Exempel. För 8-bitars tal gäller: +5 används som det är dvs (00000101) 2 5 byts mot 2 8 5 = 256 5 = (100000000) 2 (00000101) 2 = (11111011) 2 38 byts mot 2 8 38 = 256 38 = (100000000) 2 (00100110) 2 = (11011010) 2 Princip: Om 0 används självt för att representera talet. Om 0 används 2 8 istället för för att representera talet. 0 27 = 128 " " 28 = 256 Ett åttabitars heltal kan anta ett värde i intervallet [0,2 8 detta intervall visats på tallinjen. I figuren är också talen och motsvarande "negativa" tal " " utsatta. 1] = [0,255]. I figuren ovan har Man ser att så länge 256/2 = 128, så kan man skilja och " " åt genom att finns i den vänstra halvan av det visade intervallet, medan " " finns till höger. Man begränsar därför talområdet för positiva tal till den vänstra halvan av intervallet. På detta sätt får varje positivt tal på den vänstra halvan en "negativ" motsvarighet på den högra halvan. Samtliga talvärden på den vänstra halvan (dvs "positiva tal") har den mest signifikanta biten x 7 = 0. På motsvarande sätt har samtliga talvärden på den högra halvan (dvs "negativa tal") den mest signifikanta biten x 7 = 1. Biten längst till vänster kallas därför teckenbit. För 8-bitars tal blir talområdet [ 2 8-1,+(2 8-1 1)] = [ 128,+127]. Talet 0 betraktas som positivt. Talet 128 har ingen positiv motsvarighet. Teckenbyte görs genom 2-komplementering, dvs 2k = 2 8 (Fungerar ej för = 128!) ( 2k ) 2k = 2 8 (2 8 ) = (Teckenbyte två gånger ger det ursprungliga talet.) (Kan ej skrivas med 8 bitar)

Ext-6 (Ver 2010-08-09) 3(5) Den stora fördelen med 2-komplementrepresentation är att man kan använda vanlig binär addition och subtraktion. Exempel på addition med 8-bitars ordlängd: Istället för 5 används 256 5 = 251 = 11111011 2 Istället för 7 används 256 7 = 249 = 11111001 2 (+7) + (+5) Utförs som: 7 + 5 = 12 00001110 carry + 00000101 00001100 = 12 (+7) + ( 5) Utförs som: 7 + (256 5) = 256 + 2 111111110 carry + 11111011 100000010 = 256+2 (motsvarar 2 om minnessiffran ( 7) + (+5) Utförs som: (256 7) + 5 = 256 2 000000010 carry + 00000101 11111110 = 256-2 (motsvarar -2) ( 7) + ( 5) Utförs som: (256 7) + (256 5) = 256 + 256 12 111110110 carry + 11111011 111110100 = 256 + 256-12 (motsvarar -12 om minnessiffran

Ext-6 (Ver 2010-08-09) 4(5) Subtraktion behandlas på motsvarande sätt. Operationen Y ersätts standardmässigt med operationen + 256 Y = + (255 Y) + 1 = + Y 1k + 1. Exempel på subtraktion med 8-bitars ordlängd: Istället för 5 används 256 5 = 251 = 11111011 2 Istället för 7 används 256 7 = 249 = 11111001 2 5 1k = 255 5 = 250 = 11111010 2 251 1k = 255 251 = 4 = 00000100 2 (+7) (+5) Utförs som: 7 + 5 1k +1 = 7 + 250 +1 = 256 + 2 111111111 carry + 11111010 100000010 = 256 + 2 (motsvarar 2 om minnessiffran (+7) ( 5) Utförs som: 7 + (256 5) 1k + 1 = 7 + 251 1k + 1 = 7 + 4 + 1 = 12 000001111 carry + 00000100 00001100 = 12 ( 7) (+5) Utförs som: (256 7) + 5 1k + 1 = 256 7 + 250 + 1 = 256 + 256 12 111110111 carry + 11111010 111110100 = 256 + 256-12 (motsvarar -12 om minnessiffran ( 7) ( 5) Utförs som: (256 7) + (256 5) 1k + 1 = 256 7 + 251 1k + 1 = = 256 7 + 4 +1 = 256 2 000000011 carry + 00000100 11111110 = 256-2 (motsvarar -2)

Ext-6 (Ver 2010-08-09) 5(5) Sammanfattning av addition och subtraktion med 2-komplementaritmetik Vi konstaterar att vanlig binär addition och subtraktion kan användas även för tal med 2- komplementrepresentation. Det problem som kan inträffa kallas overflow och innebär att gränsen för det tillgängliga talområdet har överskridits. Vid addition av två tal kan overflow inträffa om bägge talen är positiva eller om bägge talen är negativa, eftersom summans absolutbelopp då blir större än absolutbeloppet av det största av talen i additionen. Om summans absolutbelopp överskrider talområdets gräns, på den positiva eller negativa sidan, så inträffar overflow. Man upptäcker enkelt overflow genom att betrakta teckenbitarna hos de bägge talen och hos summan. Om man adderar två tal med lika tecken och summan får motsatt tecken, så har overflow inträffat. (Pos + Pos = Neg eller Neg + Neg = Pos) Vid subtraktion av ett tal från ett annat tal kan overflow inträffa om det första talet i subtraktionen är positivt och det andra negativt eller tvärt om. Skillnadens absolutbelopp blir ju då större än det största talets absolutbelopp. Overflow har inträffat om subtraktion av ett negativt tal från ett positivt tal ger en negativ summa (Pos Neg = Neg) eller om subtraktion av ett positivt tal från ett negativt ger en positiv summa (Neg Pos = Pos) Dessa iakttagelser leder oss till följande booleska uttryck för overflowfunktionen V för additionen S = +Y eller subtraktionen S = Y, där, Y och S är 8-bitars tal med 2- komplementrepresentation och med teckenbitarna x 7, y 7 och s 7 : V(x 7,y 7,s 7 ) = (SUB)'(x 7 'y 7 's 7 + x 7 y 7 s 7 ') + SUB(x 7 'y 7 s 7 + x 7 y 7 's 7 ') Variablen SUB får värdet 1 vid subtraktion. Subtraktionen Y utförs normalt med en adderare enligt standardmetoden + (2 8 Y) = + Y 1k + 1, enligt figuren till höger. Detta innebär att talet Y finns på adderarens Q-ingång vid addition och talet Y 1k finns på Q-ingången vid subtraktion. Vid addition är därför q 7 = y 7 och vid subtraktion är q 7 = y 7 '. Genom att uttrycka V som en funktion av x 7, q 7 och s 7 kan man få ett enklare uttryck. V = (SUB)'(x 7 'q 7 's 7 + x 7 q 7 s 7 ') + SUB(x 7 'q 7 's 7 + x 7 q 7 s 7 ') = = [(SUB)' + SUB](x 7 'q 7 's 7 + x 7 q 7 s 7 ') = x 7 'q 7 's 7 + x 7 q 7 s 7 ' Dvs addition och subtraktion får samma overflowvillkor uttryckt i adderarens teckenbitar. y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 SUB x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 c 0 q 0 q 7 0 7 0 7 CI P Q 0 s 0 s 1 s 2 s 3 s 4 s 5 s 6 7 s 7 CO c 8 C ut Minnessiffra ut vid addition. Lånesiffra ut vid subtraktion.