Husk å registrer deg på emnets hjemmeside!



Like dokumenter
TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

TALL. Titallsystemet et posisjonssystem. Konvertering: Titallsystemet binære tall. Det binære tallsystemet. Alternativ 1.

INF1040 Digital representasjon TALL

Tall. Ulike klasser tall. Læringsmål tall. To måter å representere tall. De naturlige tallene: N = { 1, 2, 3, }

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

INF1040 Oppgavesett 7: Tall og geometrier

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS

INF1040 løsningsforslag oppgavesett 7: Tall og geometrier

Flyttalls aritmetikk. I datamaskinen er alle tall representert i flyttalls aritmetikk.

Representasjon av tall på datamaskin Kort innføring for MAT-INF1100L

Reelle tall på datamaskin

Digital representasjon

Læringsmål. INF1000: Forelesning 12. Hovedkilde. Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet

MAT-INF 1100: Obligatorisk oppgave 1

Alle hele tall g > 1 kan være grunntall i et tallsystem.

En oppsummering (og litt som står igjen)

Digital representasjon

MAT1030 Forelesning 3

Alle hele tall g > 1 kan være grunntall i et tallsystem.

Tallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =

Digital representasjon

Tallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =

Kapittel 3: Litt om representasjon av tall

KONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)

Forelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer

MAT-INF 1100: Obligatorisk oppgave 1

IT1101 Informatikk basisfag 4/9. Praktisk. Oppgave: tegn kretsdiagram. Fra sist. Representasjon av informasjon binært. Ny oppgave

INF 1000 høsten 2011 Uke 11: 2. november

INF 1000 høsten Innhold uke 11. Digital representasjon av tekster, tall, former,

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004

Teori og oppgaver om 2-komplement

Diskret matematikk tirsdag 13. oktober 2015

Hva er en algoritme? Har allerede sett på mange algoritmer til nå i IT1101. Forholdet mellom en algoritme og et program. Algoritme program prosess

Forskjeller mellom masselager og hovedminne. Permanent? Allokasjonstabell. Filer. Sekvensielle filer. Operativsystemets rolle

Kapittel 3: Litt om representasjon av tall

UNIVERSITETET I OSLO

MAT-INF 1100 Modellering og beregninger. Fredag 12. oktober 2018 kl Vedlegg (deles ut): formelark. Tillatte hjelpemidler: ingen

INF1020 Algoritmer og datastrukturer GRAFER

I Kapittel 2 lærte vi om tall i alternative tallsystemer, i hovedsak om binære tall, oktale tall og heksadesimale tall.

Tall. Tallsystemer. Posisjonstallsystemer. Veiing med skålvekt titallsystemet 123 = = 7B 16. Lærebokas kapittel 6

Digital representasjon

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

UNIVERSITETET I OSLO

Løsning av øvingsoppgaver, INF2310, 2005, kompresjon og koding

INF1040 Oppgavesett 1: Tallsystemer og binærtall

1 Potenser og tallsystemer

Valg av kontaktpersoner/tillitsvalgte. MAT1030 Diskret matematikk. Oppsummering av kapittel 2. Representasjon av hele tall

En algoritme for permutasjonsgenerering

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Den siste dagen. Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Veien videre... Eksamen

Modulo-regning. hvis a og b ikke er kongruente modulo m.

Læringsmål tall. Prefikser for potenser av Store tall. Kunne prefikser for store tall i. det binære tallsystemet

156C. Algoritmer og maskinspråk. IT1101 Informatikk basisfag. Maskinspråk: det maskinen forstår. Assembler / assemblerspråk

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

Argumenter fra kommandolinjen

MAT1030 Diskret matematikk

Læringsmål tall. Kunne prefikser for store tall i. det binære tallsystemet. Forstå ulike prinsipper for representasjon av.

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Dagens tema. Nyttige programmer Programmet make. Flyt-tall Representasjon av flyt-tall. Standarden IEEE 754. Systemkall i Unix

Posisjonsystemet FRA A TIL Å

Mer om representasjon av tall

Tema. Beskrivelse. Husk!

KAPITTEL 2 Tall og datamaskiner

Dagens tema. Nyttige programmer Programmet make. Hvis én fil endres, hvilke filer må da kompileres på nytt?

Forside. MAT INF 1100 Modellering og beregninger. Mandag 9. oktober 2017 kl Vedlegg (deles ut): formelark. Tillatte hjelpemidler: ingen

INF Uke 10. Ukesoppgaver oktober 2012

Oppsummering av Uke 3. MAT1030 Diskret matematikk. Binære tall. Oppsummering av Uke 3

INF1010 Sortering. Marit Nybakken 1. mars 2004

Kanter, kanter, mange mangekanter

1.2 Posisjonssystemer

Tall Vi på vindusrekka

Velkommen til IT1101 Informatikk basisfag. Faglærer og forelesninger. Lærebok. Øvinger. IT1101 Fagstab. Fagets hjemmeside

2 Om statiske variable/konstanter og statiske metoder.

INF Algoritmer og datastrukturer

TALL. 1 De naturlige tallene. H. Fausk

Ulikheter. Vi gir her eksempel på hvordan man kan finne ut hvornår ulikheter er sanne på forskjellige måter.

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

Oppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Eksempel

Brukerveiledning for webapplikasjonen. Mathemateria Terje Kolderup

Oblig 4Hybelhus litt mer tips enn i oppgaven

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

Analyse og metodikk i Calculus 1

Sprettende ball Introduksjon Processing PDF

Oppsummering 2008 del 1

Oppsummering 2008 del 1

UNIVERSITETET I OSLO

INF 1000 høsten 2011 Uke september

Løsningsforslag. Oppgavesettet består av 9 oppgaver med i alt 20 deloppgaver. Ved sensur vil alle deloppgaver telle omtrent like mye.

INF1000 undervisningen INF 1000 høsten 2011 Uke september

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

Kapittel 1. Tallregning

Konvertering mellom tallsystemer

Transkript:

IT Informatikk basisfag 28/8 Husk å registrer deg på emnets hjemmeside! http://it.idi.ntnu.no Gikk du glipp av øving? Gjør øving og få den godkjent på datasal av din lærass! Forrige gang: HTML Merkelapper og attributter Ulike typer lister Hvordan lage tabeller? Øving 2: HTML (må godkjennes på sal neste uke) Idag: Lagring av informasjon vha bitmønstre (rekker av er og er) kapittel.4-.7 Heltall og flyttall toers komplement notasjon og flyttallsnotasjon Tegnsett Tallsystem Vi bruker tallsystemer for å representere kvantitet/antall Hvor mange hus ser du ovenfor? 5 i titallsystemet 2 i totallsystemet Begge er like riktige! Multipler av potenser I titallsystemet: 34 = * + 3* + 4* = 2, = og = Potenser av (grunntallet til tallsystemet) Hver posisjon representerer en kvantitet I totallsystemet: Grunntallet er nå 2! Når vi flytter oss mot venstre stiger verdien til tallet med 2-gangen: 2 4, 2 3, 2 2, 2, 2 som er 6, 8, 4, 2,. Potenser av 2! Generellt om tallsystemer Alltid potenser av grunntallet! Hvilken kvantitet representerer 35 x? i sekstallsystemet? base 6 tallsystem i åttetallsystemet? base 8 tallsystem Konvertering Konvertering fra totallsystemet til titallsystemet er veldig greit: 35 6 = *6 2 + 3*6 + 5*6 = *36 + 3*6 + 5* =59 35 8 = *8 2 + 3*8 + 5*8 = *64 + 3*8 + 5* =93 Merk: feil i boka

Konvertering (2) Oppgave Fra titallsystemet til totallsystemet er litt værre, men overkommelig Vi har en fremgangsmåte for dette som vi kan følge slavisk Eks. Hva er 35 i totallsystemet?. Ta tallet og del det på to, ta vare på kvotient og rest. 2. Fortsett og del på to til kvotient blir Restene du får vil sammen være totallsrepresentasjonen Tal l 35 7 8 4 2 Deler på to! Kvotient 7 8 4 2 Rest 35 = 2 Hva er 78 representert i totallsystemet? Hvorfor styre med totallsystemet i dette faget? Tall representert i totallsystemet er enkle å lagre i datamaskinen Inni maskinen brukes høy/lav spenning, strøm/ikke-strøm, lys/ikke-lys til å lagre data Slik kan tall som kun består av og lett lagres ved at feks lav spenning = og høy spenning = Dette er billigere og mer pålitelig enn å lagre direkte i titallsystemet Hvorfor? Flyttall og brøker Vi har selvsagt lov til å ha komma i totallsystemet Feks hva er. 2? Tilsvarende til høyre for komma som til venstre (bare motsatt vei) I titallsystemet: /, /, / osv. I totallsystemet: ½, ¼, /8, /6 osv. Hva med -. 2?. 2 = 5.25 Fortegn og plassering av komma Så hvordan får vi lagret fortegn og plassering av komma i datamaskinen (som bare kan forholde seg til er og er)? Vi har notasjoner for dette Toers komplement notasjon og eksess notasjon for positive og negative heltall Flyttallsnotasjon for brøker (tall med komma) Toers komplement notasjon Setter av halvparten av tallene til negative tall Ikke tenk på hvorfor!

Addisjon av tall representert i toers komplement notasjon To positive tall 5 pluss : + = Hva dersom vi prøver med negative tall? 3 pluss - : + = Dersom vi kutter av evt tall til helt til venstre kan vi bruke samme fremgangsmåte for substraksjon som for addisjon! Hvordan finne toers komplement representasjon til tall? Positivt tall: konverter til totallsystemet og du har svaret 6 = 2 Negativt tall: konverter til totallsystemet (se bort fra minus), deretter kopier fra høyre til venstre helt til første er, deretter snur du fra til og til (ta komplementet) -6 = (minus) 2 = tkn Kode -6 i toers komp notasjon - Ilustrasjon fra boka Addisjons i toers komplement eksempler fra boka Overflow (overflyt) Normalt satt av 32 bit ( er og er) til heltall Kan da lagre heltall fra 2 47 483 648 til 2 47 483 647 Hva skjer når vi legger sammen to tall som har et resultat som ligger utenfor det området vi kan lagre? Vi får såkalt overflyt! Eksess-notasjon for lagring av pos og neg heltall En annen notasjon for å lagre positive og negative heltall kalles eksess-notasjon Fyller opp nedenfra 4 +4 = tkn + tkn = tkn Uansett om vi setter = -8 av 64, 28 bit eller mer så kan vi ikke År-2 problemet? telle til uendelig!

Flyttall (ikke hele tall) notasjon: Floating point notation Tar utg pkt i totallsystemtallet -. 2 Hvordan representere dette fullstendig binært? Dvs vha bit-mønster. Vi må lagre fortegn, men også posisjonen til komma (engelsk: radix) Floating point notation (flyttallsnotasjon) Setter av sign-bit til å ta vare på fortegn Setter av exponent til å ta vare på posisjonen til komma Setter av mantissa til å ta vare på råtallene - 2 Koding av 2 ¼ (=2.25 ) Normalisert form Finn råtallene i totallsystemet og sett disse i mantissa 2 ¼ =.. Råtall blir da I utg pkt er komma plassert til venstre for råtallene. Lagre i exponent hvor mange flytt som skal gjøres mot høyre Dette skal lagres i eksess-notasjon! Lagre fortegn i sign bit = positiv verdi = negativ verdi Mest signifikante bit (den helt til venstre) i mantissa skal være den første er i totallsrepresentasjonen Eks /8 er lik. i totallsystemet Råtall/mantissa blir og ikke i normalisert form Dette for å hindre at samme brøk kan ha ulike representasjoner i flyttallsnotasjon Obs! Sjekk om mantissa er stor nok til å representere brøken/flyttallet I boka har signbit+exponent+mantissa en lengde på 8 bit. I datamaskinen kan dette typisk være 32 eller 64 bit. For liten mantissa kan gi avrundingsfeil Eks: brøken 2 5/8 =.625 5/8 = ½ + /8 Truncation error (avrundingsfeil) Hva skjer om vi skal legge sammen feks 4 ½ og ¼? 4 ½ i totallsystemet:.. i flyttallsnotasjon: ¼ i totallsystemet:.. i flyttallsnotasjon: 4 ½ + ¼ = 4 ¾, men kan 4 ¾ representeres i 8-bits flyttallsnotasjon? 4 ¾ =. (for mange bits!)

Vi kan øke mantissa Det er vanlig å bruke 32-bits flyttallsnotasjon for å lagre flyttall Men blir flyttallene for lange får vi likevel avrundingsfeil Eks i Java: public class Test { public static void main(string[] args) { float a = f; float b =.f; System.out.println(a+b); } } Hva skrives ut på skjerm? Ikke. som er riktig svar, men. Et annet problem med å lagre brøker Kan /3 representeres eksakt i titallsystemet? Nei, vi får.333333333333333333... Dette kalles problemet med ikkeavsluttende ekspansjoner (nondeterming expansions) Vi møter samme problemet i totallsystemet, men for enda flere brøker Feks / Rekkefølgen brøker legger sammen kan avgjøre om vi får avrundingsfeil eller ikke Gitt 8-bits flyttallsnotasjon: Vi skal legge sammen 2 ½ + /8 + /8 Dersom vi først legger sammen 2 ½ og /8, og deretter legger til /8 får vi avrundingsfeil fordi mellomsvaret 2 ½ + /8 som er 2 5/8 ikke kan representeres i flyttallsnotasjon på 8 bit Dersom vi legger sammen /8 og /8 først og deretter legger til 2 ½ får vi riktig svar. Hvorfor? Hva har dette å si? Det settes av nok bit til at man klarer å representere nøyaktig nok (stort sett) Men prøver vi å legge sammen med. feks i Excel får vi problemer For vanlig bruk er ikke dette noe stort problem, men feks i et navigasjonssystem eller værberegningssystem kan det være kritisk! Binær representasjon av tekst Prinsipp: Hvert tegn tildeles hvert sitt bitmønster A =, B = Se Appendix A i Brookshear Men hvordan bli enige om hvilke bitmønstre som repr hvilke tegn? ANSI (American National Standards Institute) har laget en standard ASCII (American Standard Code for Information Interchange) Hadde opprinnelig en lengde på 7 bit Hvor mange tegn kan man representere vha 7 bit? 2 7 = 28 Eksempel ASCII er idag utvidet til 8 bit og man kan representere 256 ulike tegn (2 8 ) De ekstre 28 tegnene brukes til nasjonale tegn (feks æ,ø, å eller õ, ö etc.) En rekke av bits vil således kunne representere et ord eller en setning H E L L O.

Andre tegnsett I dag Mandag: kap. i Brookshear Unicode (hvert tegn lengde 6 bits) Kan representere 65536 ulike tegn ISO (The International Organization for Standardization) har laget et tegnsett med bitmønstre på 32 bits Kan representere milliarder av tegn! Representere informasjon binært vha bitmønstre (rekker av er og er) Over Heltall (tar utg pkt i totallsystemet) -flow Toers komplement notasjon Eksess notasjon Flyttall/brøker (tar utg pkt i totallsystemet) Flyttallsnotasjon Tekst Tegnsett som ASCII og Unicode Avr. feil