F2 Datarepresentation talbaser, dataformat och teckenkodning

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

F2 Binära tal EDA070 Datorer och datoranvändning

F2 Datarepresentation talbaser, dataformat och teckenkodning

F3 Datarepresentation teckenkodning och datakompression

F3 Datarepresentation teckenkodning och datakompression EDAA05 Datorer i system! Roger Henriksson!

DIGITALA TAL OCH BOOLESK ALGEBRA

Digital- och datorteknik

Mattias Wiggberg Collaboration

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

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Digital- och datorteknik

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

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

Datorsystemteknik DVG A03 Föreläsning 3

Digital elektronik CL0090

Binär addition papper och penna metod

Föreläsning 8: Aritmetik och stora heltal

IE1205 Digital Design: F6 : Digital aritmetik 2

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

Övningar och datorlaborationer, Datorer i system

Digital- och datorteknik

Tentamen EDAA05 Datorer i system

Styrteknik: Binära tal, talsystem och koder D3:1

Övningar och datorlaborationer, Datorer i system

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

2-14 Binära talsystemet-fördjupning Namn:

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

Digital Aritmetik Unsigned Integers Signed Integers"

Digital- och datorteknik

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Datoraritmetik. Från labben. Från labben. Några exempel

Tecken och strängar i Java

TDDD78, TDDE30, 729A Tecken och strängar med och utan Java

2-13 Binära talsystemet Namn:

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

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

7 november 2014 Sida 1 / 21

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U)

n Kap 4.1, 4.2, (4.3), 4.4, 4.5 n Numerisk beräkning av derivata med n Felen kan t ex vara avrundningsfel eller mätfel n Felet kan mätas

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

Det finns en hemsida. Adressen är

IE1204 Digital Design

Teknisk Beräkningsvetenskap I Tema 1: Avrundning och populationsmodellering

Ö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

PARITETSKONTROLL. Om generatorn i vidstående exempel avkänner ett jämt antal ettor ger den en nolla ut. Detta innebär att överföringen

Föreläsning i webbdesign. Bilder och färger. Rune Körnefors. Medieteknik Rune Körnefors rune.kornefors@lnu.se

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Adderare. Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

Enkla datatyper minne

Binär aritmetik TSIU02 Datorteknik

6. Ge korta beskrivningar av följande begrepp a) texteditor b) kompilator c) länkare d) interpretator e) korskompilator f) formatterare ( pretty-print

2-1: Taltyper och tallinjen Namn:.

Feluppskattning och räknenoggrannhet

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

3-3 Skriftliga räknemetoder

EDA451 - Digital och Datorteknik 2009/2010. EDA Digital och Datorteknik 2009/2010. Binär Kodning, lärobokens kap.2

C konstruerades i början på sjuttiotalet av Dennis Ritchie vid Bell Laboratories.

Kapitel 2. Feluppskattning och räknenoggrannhet

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram

NUV 647E. Digitalteknik och Datorarkitektur 5hp. 3x12 = 36 2x12 = 24 1x12 = 12 0x12 = 18

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Föreläsning 8: Aritmetik och stora heltal

Institutionen för elektro- och informationsteknologi, LTH

Innehåll. Datorteknik. Abstraktionsnivå 1. Spelkonsol - blockschema. Spelkonsol abstraktionsnivå 2. Abstraktionsnivå 2

Maskinorienterad Programmering /2011. Maskinorienterad Programmering 2010/11. Maskinnära programmering C och assemblerspråk

Tecken. char. char ch = A ; sizeof(char) = 1 byte (ej 16-bitars tecken som i Java) char namn[]= "Nils"; // längd = 5 bytes

Programmering i C++ EDAF hp. EDAF30 (Föreläsning 2) HT / 18

Maskinorienterad programmering. Kompendium: Aritmetik för HC12 Roger Johansson, 2013

Tecken och teckenrepresentation

Innehåll 1. Mediafakta Disketter, CD-skivor, DVD-skivor och USB-minnen 3. Kassetter Svarsmedier vid förfrågningar...

TAL OCH RÄKNING HELTAL

TDP002 - Imperativ programmering

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kapitel Beräkningar med binära, oktala, decimala och hexadecimala tal

Introduktion till programmering och Python Grundkurs i programmering med Python

matematik Prov, Övningsblad och Aktiviteter SANOM A UT B IL DNI NG

Min trettonåriga dotter Nathalie och andra som är intresserade av matematikens elementa

Talrepresentation. Ett tal kan representeras binärt på många sätt. De vanligaste taltyperna som skall representeras är:

Uppgift 1 ( Betyg 3 uppgift )

PASS 2. POTENSRÄKNING. 2.1 Definition av en potens

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

Kapitel 2 o 3 Information och bitar Att skicka signaler på en länk. Att sända information mellan datorer. Information och binärdata

Grundläggande Datorteknik Digital- och datorteknik

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

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

Kursinfo. Praktisk datorkunskap. Examination- Krav för godkänt. Syfte DVG A06

Grundläggande digitalteknik

Kort beskrivning av Sveriges första dator BESK

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

översiktskurs (5DV031)

Föreläsning 3.1: Datastrukturer, en översikt

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

Transkript:

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Jonas Wisbrant Datarepresentation I en dator lagras och behandlas all information i form av binära tal ettor och nollor. En binär siffra kallas för en bit BInary digit. Ett antal bitar kombineras ihop till större enheter: Byte 8 bitar (talområde: 0-255) Word 16, 32 eller 64 bitar Bitarnas innebörd beror på hur vi väljer att tolka dem tal, text, ljud, bilder etc. 2 Talsystem Vi använder talsystem för att representera numeriska värden. Vårt vanliga, decimala, talsystem är ett så kallat positionssystem. Exempel: 827 = 8 10 2 + 2 10 1 + 7 10 0 827 = 8 100 + 2 10 + 7 1 I detta talsystem utgör talet 10 systemets bas. Siffrornas position anger hur många gånger motsvarande potens av basen behöver adderas till. 3 Binära tal Det binära talsystemet är ett talsystem med basen 2. Exempel: 1 10012 = 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 10012 = 1 8 + 1 1 = 9 1110002 = 1 2 5 + 1 2 4 + 1 2 3 + 0 2 2 + 0 2 1 + 0 2 0 1110002 = 1 32 + 1 16 + 1 8 = 56 Praktisk sekvens att memorera: 1,2,4,8,16,32,64,128, 1 Exemplet helt oförskämt stulet från Per Holm. 4

Mest och minst signifikant siffra Mest signifikant siffra Den siffra i ett tal som motsvarar störst värde är mest signifikant. Normalt siffran längst till vänster. Minst signifikant siffra Den siffra i ett tal som motsvarar minst värde är minst signifikant, dvs entalssiffran (siffran längst till höger). Mest signifikant 11001010 Minst signifikant 5 Addition Additionstabell: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Addition görs på liknande sätt som i det vanliga decimala talsystemet: 1 1 1 1 1 (minnessiffror) 0 1 1 0 1 (13) + 1 0 1 1 1 (23) ------------- = 1 0 0 1 0 0 (36) 6 Subtraktion Analogt med vanlig subtraktion i det decimala talsystemet, men: När vi lånar lånar vi inte 10 utan 2! Exempel: * * * * (kolumner från vilket lån skett) 1 1 0 1 1 1 0 (110)! 1 0 1 1 1 (23) ---------------- = 1 0 1 0 1 1 1 (87) Negativa tal Naturligtvis kan vi skriva ett negativt binärt tal som -10011, men datorn saknar förståelse för minustecknet. Därför måste vi representera negativa tal på ett annat sätt i datorn. Vi vill t.ex. att: en addition med ett ska alltid ge ett resultat som är ett större än ursprungstalet oavsett om vi tolkar talet som positivt eller negativt. att datorns hårdvara inte ska påverkas av hur vi tolkar talet. varje bitmönster ska motsvara ett, och endast ett, tal. 7 8

Naiv teckenrepresentation Låt den mest signifikanta biten i en byte eller ett ord tala om vilket tecken talet har. Lagra talet -5 i en byte (8 bitar): 10000101 Vi kan nu representera talen -127 127 med en byte. Men: Både 00000000 och 10000000 motsvarar talet 0 (+0,-0). Addition till negativa bitmönster blir fel: 10000101 + 00000001 = 10000110 (-5 + 1 = -6!!!) Tvåkomplement Även i tvåkomplementsform anger mest signifikanta biten talets tecken. N-bitars tvåkomplentsform representerar ett tal -X som: 2 N -X Exempel, -7 i 8-bitars tvåkomplentsform: 100000000-111 = 11111001 Talområde, 8-bitars tvåkomplementstal: -128 127 9 10 Tvåkomplement Det är enkelt att omvandla ett binärt tal till dess negativa tvåkomplementsform: 1. Invertera talet (byt ettor mot nollor och tvärtom). 2. Addera 1 till talet. Exempel, -7 i 8-bitars tvåkomplementsform: 1. 7 = 00000111 2. Invertera: 11111000 3. Addera 1: 11111001, klart! Tvåkomplement Omvandlingen fungerar också åt andra hållet: 1. -7 = 11111001 2. Invertera: 00000110 3. Addera 1: 00000111, klart! 11 12

Tvåkomplement Varför fungerar den enkla omvandlingsformen? Jo, om vi t.ex. ska ta reda på hur -X representeras i 8- bitars tvåkomplementsform utgår vi från definitionen: 100000000 - X Detta är samma sak som: 1 + 11111111 - X Men att subtrahera något från ett binärt tal som bara består av ettor är samma sak som att invertera talet! Alltså är uttrycket ovan samma sak som att invertera X och sedan addera 1! Aritmetik med tvåkomplement Vi kan hantera addition precis som vanligt utan att egentligen behöva veta om talen ska betraktas som negativa i tvåkomplementsform eller som stora positiva heltal: Exempel, 00000111 + 11111100 (8-bitarstal): tvåk. pos. 00000111 7 7 +11111100-4 252 ========= (1)00000011 3 3 (259 - overflow) 13 14 Subtraktion med tvåkomplement Räkna ut 00000111-00000100! Börja med att negera andra termen och byt till addition. Utför därefter additionen: 00000111-00000100 = 00000111 + 11111100 = 00000011 (efter att ha slängt bort overflow-ettan ) Hexadecimala tal Talsystem med 16 som bas. Praktiskt eftersom 16 = 2 4, vilket innebär att fyra binära siffror direkt kan översättas till en hexadecimal. Siffror: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Konvertera mellan binärt och hexadecimalt: 0101 1010 1001 1111 = 5A9F Gruppera de binära siffrorna i grupper om fyra! 15 16

Hexadecimalt till decimalt Konvertera 5A9F till decimalt: 5A9F16 = 5 16 3 + 10 16 2 + 9 16 1 + 15 16 0 = 20480 +2560 + 144 + 15 = 23209 Oktala tal Talsystem med 8 som bas. 8 = 2 3, så det är enkelt att konvertera grupper om tre binära siffror till oktal form och vice versa. Exempel: Unix-kommandot chmod som ni stött på i Datorer och Datoranvändning. chmod 755 filnamn 7558 = 111 101 1012, vilket motsvarar rättigheterna rwxr-xr-x 17 18 Flyttal Approximativ representation av reella tal. Ett flyttal består av tecken (t, -1/1), mantissa (m), exponent (e) och en bas (b, normalt 2 i datorer): tal = t m b e Jämför med hur ni ibland skriver tal i matematiken: Exempel: 2306000 = 2,306 10 6 Exponenten avgör decimalkommats plats, som kan sägas flyta, därav namnet flyttal. IEEE754 Standard för hur man representerar flyttal i en dator. Definierar flera format med olika noggrannhet och talomfång. Vanligast är idag 64-bitars binära flyttal (8 bytes): t = teckenbit e = exponenten (-1022 1023) m = mantissan: m = 1 + d1 2-1 + d2 2-2 + + d52 2-52 19 20

Varning flyttal Teckenkodning Flyttal har en begränsad noggrannhet (ca 16 decimala siffror). Avrundningsfel kan göra att de vanliga matematiska lagarna inte alltid gäller: - a + b - c! a - c + b - a/3 + a/3 + a/3! a Undvik att jämföra om två flyttal är exakt lika! ETT STORT ELÄNDE!!! 21 22 Teckenkodning Vi använder numeriska värden för att representera skrivtecken enligt en teckentabell. Teckenkodning historik Baudotkod 5-bitars kod för fjärrskrivare (teletype tty). Historiskt sett dåligt standardiserat. Olika standarder för vilket värde som representerar vilket tecken. Olika standarder för hur man representerar radslut. Baudot 1874, Murray 1901 23 24

EBCDIC Extended Binary Coded Decimal Interchange Code 8-bitars IBM-standard som huvudsakligen användes i IBMs stordatorsystem. ASCII American Standard Code for Information Interchange (1963) 7-bitars teckenkod ursprungligen utvecklad för fjärrskrivare. Idag mest en historisk parantes. 25 26 Svensk ASCII Olika modifierade 7- och 8-bitars ASCII-kodningar för att representera internationella alfabet. Radslut Radslut representeras med ett (eller flera) specialtecken. Tyvärr inte helt standardiserat. Windows, och flera Internetprotokoll: Carriage Return + Line Feed (ASCII 13 + ASCII 10) Unix, Linux Line Feed (ASCII 10) Observera ordningen på Å, Ä och Ö. Gamla MacOS (före Mac OSX) Carriage Return (ASCII 13) nu mest en historisk parantes. 27 28

ISO 8859 En serie 8-bitarsvarianter av ASCII. ISO 8859-1 Latin-1, västeuropeiska ISO 8859-2 Latin-2, östeuropeiska Även för: grönländska (3), kyrilliska (5), arabiska (6), grekiska (7), hebreiska (8), osv Inte heller här har Å,Ä,Ö hamnat rätt Variant med extra tecken i stället för kontrolltecken 7F-AF: Windows-1252. Unicode/ISO 10646 Utvecklat för att klara världens alla skriftspråk. Mer än 100000 möjliga skrivtecken. Tar över allt mer UTF-8 Unicodetecken lagras i 1-4 bytes. Tecken ur ASCII-koden representeras likadant i UTF-8. Ovanligare tecken representeras som en sekvens av flera bytes. Mer om Unicode/UTF-8 nästa vecka 29 30