2011-12-09, 09:36
  #1
Medlem
QkNNs avatar
har suttit och funderat ett bra tag nu, på hur det är möjligt att spara information innuti ett
material. Jag förstår hur det är möjligt att tex rita på ett papper, och att informationen stannar kvar på pappret.
Men hur all möjlig information kan sparas i en hårdisk, musik, bilder, video etc etc. är tammefan omöjligt för mig att förstå. För att inte tala om internet. Folk pratar om nollor och ettor, att allt är uppbyggt av de. Men jag kan fortfarande inte förstå hur nollor och ettor kan göra en video.
Eller hur dom nollorna och ettorna sparas i en hårdisk..

Kan någon förklara med begripliga ord hur detta fungerar??
Citera
2011-12-11, 00:17
  #2
Medlem
Med hjälp av ettor och nollor kan du skapa binära tal. dvs 2-potenser.
http://sv.wikipedia.org/wiki/Bin%C3%A4ra_talsystemet

Genom att förändra ett materials egenskaper (som länken men lite annorlunda för klassiska hårddiskar) så kan du "prägla" in en etta eller nolla i ett material.
http://computer.howstuffworks.com/flash-memory.htm

Ljud är uppbyggt av olika frekvenser och amplituder, detta är bara siffror som kan beskrivas med ettor och nollor.

Digital bild är uppbyggd av pixlar, dvs rutor. Varje ruta har en färg, och färgen har tex ett RGB-värde(rött-grön-blått). Blandar du olika mycket av dessa får du en annan färg precis som på en vanlig palett. Andelen av varje färg kan du ange genom att siffor som även dessa kan skrivas på binär form.


Hoppas det blev lite klarare, någon mer påläst får gärna utveckla/rätta mig

EDIT: Okej den första länken var ganska dålig, men för vanliga hårddiskar kan du jämföra med att du tar en permanentmagnet och gnuggar mot en metallbit, denna kommer då blir magnetisk ett tag eftersom alla molekyler "vrider sig" åt samma håll och skapar en enhetlig Nord-Sydpol. De olika sektionerna på skivan i en hårddisk magnetiseras på ett liknande sätt när du sparar information. Enkelt sett Norr = 1 och Syd = 0. Sen är det givetvis lite mer avancerat än så!
__________________
Senast redigerad av p00tie 2011-12-11 kl. 01:04.
Citera
2011-12-11, 01:50
  #3
Medlem
Jooncs avatar
Citat:
Ursprungligen postat av p00tie
Med hjälp av ettor och nollor kan du skapa binära tal. dvs 2-potenser.
http://sv.wikipedia.org/wiki/Bin%C3%A4ra_talsystemet

Genom att förändra ett materials egenskaper (som länken men lite annorlunda för klassiska hårddiskar) så kan du "prägla" in en etta eller nolla i ett material.
http://computer.howstuffworks.com/flash-memory.htm

Ljud är uppbyggt av olika frekvenser och amplituder, detta är bara siffror som kan beskrivas med ettor och nollor.

Digital bild är uppbyggd av pixlar, dvs rutor. Varje ruta har en färg, och färgen har tex ett RGB-värde(rött-grön-blått). Blandar du olika mycket av dessa får du en annan färg precis som på en vanlig palett. Andelen av varje färg kan du ange genom att siffor som även dessa kan skrivas på binär form.


Hoppas det blev lite klarare, någon mer påläst får gärna utveckla/rätta mig

EDIT: Okej den första länken var ganska dålig, men för vanliga hårddiskar kan du jämföra med att du tar en permanentmagnet och gnuggar mot en metallbit, denna kommer då blir magnetisk ett tag eftersom alla molekyler "vrider sig" åt samma håll och skapar en enhetlig Nord-Sydpol. De olika sektionerna på skivan i en hårddisk magnetiseras på ett liknande sätt när du sparar information. Enkelt sett Norr = 1 och Syd = 0. Sen är det givetvis lite mer avancerat än så!
Jag tycker du förklarade det ganska bra och jag ville bara bidra med några små rättelser, andra sett att se på det eller lite djupare beskrivningar.
Det kanske mest naturlig sätt att beskriva ljud är dess amplitud som en funktion av tiden. I datorer brukar den dock lagras som amplituden som en funktion av frekvensen, för att det tillåter högre komprimering (man låter mindre betydelsefulla frekvenser beskrivas mindre exakt, med färre bitar). Vi föreställer oss ljud som kontinuerligt (analogt), men när det sparas i en dator samplas det (amplituden registreras) med väldigt täta tidsmellanrum i stället, och amplituden vid varje samplig sparas. Ljud samplas vanligtvis mer än 40000 gånger per sekund.
Skillnaden mellan ljud och bild är faktiskt väldigt liten, om man väljer att se en bild som en tvådimensionell signal. Tex kan samma transform från tids- till frekvensplanet, samt samma komprimseringsalgoritmer användas.
En bild är tex N*M pixlar, där N är antal pixelrader i bilden och M antal pixelkolumner. Varje pixel kan beskrivas som heltalstrippel (röd, grön, blå), tex (0,0,0) (svart), (255,0,0) (röd), eller (50,50,50) (mörkgrå). Det finns också andra representioner för färger. Men det här så behövs det 3 byte (24 bitar) för att beskriva en pixel. Hela bilden kräver alltså, om N = 1024 och M = 1024, 1024*1024*3 byte för att lagas (okomprimerad) = 3 Mebibyte. Eftersom ditt RAM-minne är endimensionellt (en enda lång lista av minnesceller) så kommer den här bilden ligga som en enda lång rad bytes, där tex de 3 första beskriver pixeln längst upp till vänster, de 3*1024 beskriver alla pixlar på första raden i bilden, och de nästföljande 3*1024 byten beskriver pixlarna i nästa rad på bilden.
Dessa tal representeras som sagt som ettor och nollor. Hur talet 255 representeras i form av ettor och nollor varierar (det finns olika sätt att göra det på), men kommer förmodligen (om det ska in i en enda byte) kodas till den binära sekvensen 11111111, som tolkas som 2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 = 128+64+32+16+8+4+2+1=255.
Vad som är viktigt att förstå är att samma binära sekvens kan tolkas som någon helt annat i ett annan sammanhang. Programmeringsspråk (verktyg för att utvecka mjukvara) sätter ofta upp barriärer som förbjuder information att tolkas som någon annan typ av information än vad den ursprungligen definierats som, just för att det vanligtvis inte finns inbyggt i informationen hur den ska tolkas (med massa undantag, främst inom kommunikation).

En minnescell i RAM-minnet är en elektronisk (hårdvaru) komponent. Den kan tex byggas med hjälp av en transistor och en kondensator.
EDIT: drar till med ett litet (men fullständigt exempel också). Säg att vi har en bild som består av fyra pixlar:
vit röd
grön blå
Alltså två rader och två kolumner (N = M = 2 från föregående exemplet)
Varje pixel beskrivs som en tripple (r,g,b) där r,g och b är heltalsvärden i intervallet [0,255] (denna tripple kan också ses som en punkt i rummet, kolla tex på den här bilden där det dolda hörnet är svart).
Den vita pixeln blir alltså (255,255,255), den röda (255,0,0), gröna (0,255,0) och den blå (0,0,255).
Om man radar upp all denna information så får man: 255,255,255,255,0,0,0,255,0,0,0,255, eller i binär form:
11111111111111111111111111111111000000000000000000 0000001111111100000000000000000000000011111111
Notera att det här inte finns någon information om hur många rader och kolumner det är i bilden, eller hur bitarna ska tolkas (det skulle tex kunna vara mer än 3 byte per färg, eventuellt representerade som flyttal (decimaltal), bara en byte per färg (svartvitt) etc.). Denna informationen finns någon annanstans. Låt oss anta att bilden lästs in från en .jpg-fil. Då finns det i filen även annan data (så kallad metadata) som beskriver just hur informationen ska tolkas. Så här kan tex en jpg header se ut. Offset säger hur långt in i filen (mätt i bytes) som datan återfinns. Size är ett mått på hur stor (mätt i byte) datan är. Som du ser beskriver den femte och sjätte byten hur många pixelrader det finns i bilden (det jag tidigare kallat N). Det finns alltså 16 bitar som beskriver antal rader i en jpeg bild, vilket betyder att det som mest kan finnas 2^16 = 65536 pixelrader i en bild eftersom det inte finns fler än så många kombinationer med 16 bitar.
__________________
Senast redigerad av Joonc 2011-12-11 kl. 02:19.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in