/ Forside/ Teknologi / Udvikling / Andet udvikling / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Andet udvikling
#NavnPoint
BertelBra.. 1370
natmaden 870
srhansen 670
_michael_ 510
katekismus 500
MatrixRev.. 500
molokyle 462
refi 370
Teil 328
10  pallebhan.. 320
Binær data /repræsentation ?
Fra : MatrixRevolution
Vist : 1666 gange
200 point
Dato : 16-08-06 23:06

Hej,

Jeg har et spørgsmål ang. binær data. Hvad taler man om, når man taler om binær data ?
Hvad mener man f.eks. med at webdata, over HTTP aldrig vil være nær så hurtig som binær data.

Og hvad mener man med at den binære repræsentation af eksempelvis et langt XML-dokument, fylder mindre i bytes.

I det hele taget en forklaring om hvad binær data er. Er den data i windows eller ? Og hvorfor er binær data uforståeligt for mennesker.

Håber nogle kan forklare det forståeligt så det giver mening.

På forhånd tak...



 
 
Kommentar
Fra : BertelBrander


Dato : 16-08-06 23:16

Hvis vi forestiller os at en "byte" (karakter) er 8 bit, kan den antage 256 værdier.
Når vi skal repræsentere tal i tekst (dvs. ikke binær) format bruger vi kun 10 af disse 256 værdier, det er et stort spild.
Skal du skrive 100 med text skal du bruge 3 tegn/bytes men du kan gøre det med 1 byte hvis du bruger binær repræsentation.
Det samme gælder for text, men med knap så meget overhead.

En af grundene til at man ikke bruger binær repræsentation med f.ex. html er at man ikke er enig om hvordan binære tal skal opfattes.
Med text er det blot et spørgsmål om at være enig om tegnsæt.

En af grundene til at det er svært at læse binært repræsenteret data er at det (stort set) kun give mening i hex format, men vi er opvokset med at bruge 10-tals systemet.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 00:48

Jeg læste lige Bertels svar og det er da OK men ikke korrekt.

Der findes lige så mange tal-systemer som der findes tal.

1. Findes ikke (alle tal ville være = 1 og ingen = 0)
2. Binært talsystem. indeholder tallene 0 og 1.
3. Kan konstrueres, men er ubrugelig i praksis.
4-14: Lige så ubrugelige.
15. Det Hexadecimale talsystem. Det bruges og ER blevet brugt til EDB-programmer.

Matematikere har i mange år prøvet at finde talsystemer der kunne bruges til noget, men gennembruddet kom da én af dem fandt på at sammentænke det binære talsystem med det elektriske. NEMLIG: Er der strøm på eller er der ikke??? Altså STRØM = NUL - Ingen strøm = ET.

Det har skabt edb som vi kender det idag.
Enten er noget sandt (værdi=1) eller også er det ikke sandt (værdi=0)
Det kan en maskine forholde sig til på dybeste niveau.

Jo ældre man er som programmør, jo tættere har man været på den originale måde at programmere på. Den hed Binær programmering. Altså hvor man KUN brugte det sprog som maskinen kunne forstå, nemlig en kombination af 1 og 0'er.

Så gammel er jeg ikke. Men et af de første SPROG der blev lavet blev kaldt Assempler. Det var en oversætter der kunne oversætte kommandoer til rækker af 0'er og 1'er så lortet kunne køre.

Et program skrevet i Assempler er MEGET tæt på 0'er og 1'er og er derfor meget lille og derfor meget hurtig at afvikle. Lang tid at lave (dyrt).

Har du flere ? Så bare kom. Men jeg tror da jeg har dækket det meste. Det er jo et meget stort spørgsmål. M.v.h. Arne Jakobsen.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 00:53

Undskyld. Jeg vendte lige om på det. Jeg skrev:

Altså STRØM = NUL - Ingen strøm = ET.

det er forkert, det er selvf.

Altså STRØM = ET - Ingen strøm = NUL.

Det siger jo sig selv, men det var squ tåbeligt af mig at skrive forkert.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 00:54

Hex er 16 tals systemet.
8 tals systemet bruges stadig med chmod kommandoen på linux/Unix.
For maskinen er der sådan set ikke forskel på binære og hex tal.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 00:55

Der er mange definitioner af hvad der er 1 og 0.
Oftest er 1 en positiv spænding og 0 er ingen spænding (ikke strøm).

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 01:16

Jeg må så hellere tage dit spørgsmål punkt for punkt:

1.: Jeg har et spørgsmål ang. binær data. Hvad taler man om, når man taler om binær data ?
2.: Hvad mener man f.eks. med at webdata, over HTTP aldrig vil være nær så hurtig som binær data.
3.: Hvad mener man med at den binære repræsentation af eksempelvis et langt XML-dokument, fylder mindre i bytes.
4.: I det hele taget: Hvad binær data er. Er den data i windows eller ? Og hvorfor er binær data uforståeligt for mennesker.

Jeg har lige skrevet dem lidt om, så de bliver nemmere at angribe/besvare. Håber det er OK

Svar:

1.: Binære data er data der kun er repræsenteret ved værdierne 0 og 1. og det er ALLE data på en EDB-maskine. I virkeligheden er udtrykket noget vrøvl.

2.: Det hænger sammen med en speciel slags programmering der i høj grad benytter sig af en implicit viden om hvor data og kommandoer er placeret og derfor ikke behøver spørge først. det gør programmerne meget små og derved hurtige. Binær programmering er meget tættere på maskinen og derfor.

3. Andre må fortsætte. Jeg har ikke tid mere nu - vi tales ved.




Kommentar
Fra : BertelBrander


Dato : 17-08-06 01:39

Der er tale om to slags "binær"
1: Data der er repræsenteret med 2 tals systemet.
2: Data der er repræsenteret i ikke-tekst-format.

Hvis vi taler om den anden form, hvilket spørgsmålet kunne tyde på:
Hvis man skal skrive tallet 123 i tekst på en PC (og de fleste andre moderne maskiner) vil man gøre det som tre karakterer med værdierne 49, 50, 51. Skal man derimod have 123 som binært vil man gemme det som én karakter med værdien 123
49, 50 og 51 er 31 32 33 i hexadecimal (16) tals systemet, og så er det nemmere at se meningen.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:01

Ja OK jeg nåede ikke at falde i søvn.

Kære Bertel! Det er noget forbandet vrøvl. Undskyld mit Franske.

Men der er squ ikke tale om 2 slags Binært. Det er KUN én slags Binært.

Det er 2-tals systemet.

Dit begreb "ikke-tekst-format" er noget vrøvl som nogle EDB-Skolelærere har fundet på fordi de ikke selv havde check på tingene.

For at gøre en meget lang snak/debat kort: Binære tal er NUL og ET. Disse hænger sammen med maskinens mulighed for at indse om en swits/afbryder er sat til eller fra. Dette gør det muligt at fremstille en kreds der kan gøre forskellige ting afhængigt af 0 eller 1. Hvis man sætter tilstrækkeligt mange at den slags sammen, kan de træffe beslutninger hvis de bliver ledet af en programmør der forstår deres sprog. Så laver man én regel (meget lang). Så laver man 100.000 andre regler (endnu længere, man talte om Mandeår). Men efterhånden får mange mænd(M/K) lavet så mange Assempler-programmer, at maskinerne kan forstå det.

Kommandoer skrevet i dette "Stenalder-edb-sprog" er langt mere effektive end de kommandoer du idag finder i mere moderne programmerings-sprog. Og hurtigere at afvikle.

Visse af de programmer jeg skrev tilbage i 1984, kan jeg idag gå ind i og ændre ved nogle få ændringer fra NUL til ET eller omvendt. DET er binær programmering.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 02:04

Det er en skam at du ikke nåede at falde i søvn, jeg tror at du vil være i stand til at se det urimelige i dit indlæg hvis du var vågen.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:10

Billig bemærkning. Kom dog med et modargument som både jeg og spørgeren kan bruge til noget.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 02:14

Er html filer binære?
Er exe filer binære?

En html fil er text format, en exe fil er binært format, og det har intet med 2-tals systemer at gøre.

Hvis du skriver 123 ved at have en byte med værdien 123 er det binært, gør du det med tre bytes med værdierne 49, 50 og 51 er det text format. Og det har heller intet med 2 tals systemet at gøre.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:17

Og når man checker din Profil så er der ingenting. JO et link til en hjemmeside. Hvad er der der? Et link til en ny hjemmeside. Den fortæller at den endnu ikke er færdig. At tale med dig er altså det samme som at besøge kommunekontoret. HALLO????

Kommentar
Fra : BertelBrander


Dato : 17-08-06 02:19

Citat
Billig bemærkning. Kom dog med et modargument som både jeg og spørgeren kan bruge til noget.


Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:22

Alle dine spørgsmål:

Citat
Er html filer binære?
Er exe filer binære?

En html fil er text format, en exe fil er binært format, og det har intet med 2-tals systemer at gøre.

Hvis du skriver 123 ved at have en byte med værdien 123 er det binært, gør du det med tre bytes med værdierne 49, 50 og 51 er det text format. Og det har heller intet med 2 tals systemet at gøre.


er kun et udtryk for at du IKKE aner hvad du taler om.

Svaret er JA til alle spørgsmålene. Den eneste måde en komputer kan gemme og forstå data på er ved hjælp af det binære talsystem. At du synes at du er skide klog, er OK. Men lad være med at rådgive om dette emne. Det har du åbenlyst IKKE forstand på.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 02:26

Hvis du gad læse bare lidt om hvad jeg skriver på min hjemme side ville du kunne se at jeg godt ved hvad jeg snakker om.
Men at du kan påstå at du har programmeret i 25 år uden at vide at der er forskel på binært og text data format forekommer mig usansynligt.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:26

Bertel - Hvis du nu VAR så skide dygtig og klog, hvorfor har du så ikke hjulpet nogle flere i de år du har været Kandu-Super???? det har du været meget længere end jeg???

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:29

Din hjemmeside fungerer jo netop ikke når man kalder den via din Kandu-profil. Så der er squ noget du ikke har helt check på der. Og NEJ du har ikke ret. Tekst eller ej er der KUN en slags Binære tal.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 02:30

Jeg har ikke sagt jeg er "skide dygtig og klog".

Jeg hjælper mest til i spørgsmål om programmering og mest i C++, men dem er der ikke ret mange af på kandu.
Derimod er der en del på f.ex. eksperten og udvikleren.

Kommentar
Fra : BertelBrander


Dato : 17-08-06 02:35

Ja, der er kun en slags binære tal.
Men der er to fortolkninger af "binær repræsentation".

Hvad mener du med at min hjemmeside ikke fungerer når du kalder den fra min profil?

I C og C++ kan man skrive i text format til en fil med:
fprintf(file, "%d", sometal);
og i binært med:
fwrite((void *)&sometal, 1, sizeof(sometal), file);

Og der er forskel på det der bliver skrevet.

Kommentar
Fra : arne.jakobsen


Dato : 17-08-06 02:46

Kære Bertel. Jeg har ikke så meget check på de sprog du nævner som dine. Men du er vel heller ikke specialist i de sprog som jeg programmerer i.

Når jeg skriver at det ikke virker, så er det jo det jeg mener. det er da dansk.

Går man ind på din profil kan man se at du ikke har lyst til at forælle noget om dig selv. Du henviser til en hjemmeside. Kalder man den får man en billig standard-side, der er i udu, og man bliver ledt videre til en ny side der heller ikke virker.

Hvad Fan... har du gang i???

Hvis du ER og KAN så kom med linket her OG gå ind i din profil og ret tingene.

En EDB-ekspert der ikke kan finde ud af at linke til sin egen hjemmeside, kan spørgerne da ikke have megen tillid til?

Eller hvad???

Kommentar
Fra : BertelBrander


Dato : 17-08-06 20:05

Jeg er ikke sikker på at dette har relevans for spørgsmålet, men

Hvis du går ind på min profil og klikker på linket skulle du gerne komme til en side hvor der i toppen står Midgaard med blå skrift på grøn-blå baggrund. Dette er i alt sin enkelthed min (gamle) hjemmestrikkede hjemmeside.
Under navnet Midgaard er der to boxe, en stor til højre, det er her indholdet er, det er også her du finder linket til min meget nye hjemmeside kaldet damb.dk.
Den mindre box til venstre (hvor der står Main, Wain, Links, Sample, osv) er menuen. Hvis du fører musen over en af ordene i menuen og trykker på den venstre musetast skulle der gerne ske det at indholdet ændrer sig, og på nogle sider vil menuen også ændre sig.
Du skulle derved være i stand til at bladre rundt på siden.
Under indholds boxen står mit navn, når du trykker på det kan du sende mig en email.

Min nye, og derfor ikke færdige, side (damb.dk) fungerer på ca. samme måde, bortset fra at der også er en menu mellem navnet DAMB og indholdet.

Hvilke dele af dette er det der ikke virker for dig?

Du vil gerne vide mere om mig, så for at følge det du skriver:
Programmør i ca 22 år.
Ingen militær karriere
B.Sc.E.E
Kunne ikke drømme om at spise tilfældige svampe som jeg havde fundet i naturen.
Forhendværende Spejderleder
Instruktør-uddannet for såvel voksne som børn
Musik-elsker og kender af mange forskellige stilarter.
Hvis du vil vide mere om mig, så søg på google; jeg er så heldig at have et navn der er globalt unikt.


For at komme tilbage til emnet:
Prøv at søge på "binary" på denne side:
http://mingw.org/download.shtml
Har det noget med 2-talssytemet at gøre?

Kommentar
Fra : arne.jakobsen


Dato : 29-08-06 00:49

Hvad så? Fik du besvaret dit spørgsmål? At vi andre gik i Overdrive om nogle enkeltheder betyder vel ikke at du ikke fik besvaret DIT spørgsmål? Har du flere spørgsmål kaster vi os da gerne ud i flere besvarelser.

Men mit svar er altså alligevel det rigtigste. Ha ha.

Ellers LUK spørgsmålet eller annuller det.

Kommentar
Fra : BertelBrander


Dato : 29-08-06 00:54

Arne, jeg ville egentlig gerne have svar på hvad det er ved min hjemmeside der ikke virker.

Kommentar
Fra : arne.jakobsen


Dato : 29-08-06 01:00

Den må vi tage Privat. Har INTET med dette ? at gøre.

Kommentar
Fra : BertelBrander


Dato : 29-08-06 01:04

Gerne for mig, selvom det var dig der betvivlede mine evner ud fra at der skulle være noget galt med min hjemmeside, derfor er det vel relevant for dette spørgsmål.

Kommentar
Fra : arne.jakobsen


Dato : 29-08-06 01:16

Nej det er ikke. Dette spørgsmål drejer sig ikke om hvorvidt din hjemmeside fungerer eller ikke. Hvis du ønsker mere snak omkring din hjemmeside så send mig en PB. Så kan vi fortsætte der.
Jeg har i øvrigt aldrig betvivlet dine evner, blot omfanget af din viden. Og det er som bekendt ganske forskellige ting. At jeg så brugte din hjemmeside som eksempel på denne manglende viden, er vel også OK i en debat/meningsudveksling. Den fungerede ikke og jeg mener stadig ikke at den fungerer. I dag KAN man dog komme videre men man kan også blive kastet tilbage til "Den gamle side" og på det nærmeste ryge ind i et Dead-loop. Hele det design der ligger bag din hjemmeside er Præ-fabrikeret og ganske og aldeles uigennemtænkt. Og det virker ikke specielt som om manden bag har ret mange brikker at flytte rundt med.

Nå, nu fik du mig alligevel til at skrive min mening her. Havde du gjort som jeg sagde Dato : 29-08-06 01:00, havde du og spørgeren sluppet for det.

Kommentar
Fra : MatrixRevolution


Dato : 30-08-06 21:49

Hey ...

Tja, jeg har studset lidt over det første "hold" indlæg
Jeg holder mig til mit eget indlæg og vil ikke blande mig i jeres interne halløj der.

Noget af det i skriver forstår jeg udemærket. Computere arbejder med det binære talsystem, som altså kun består af 2 værdier. 0 eller 1.

Det jeg bare ikke forstår er logikken i det binære. Er det virkelig den simpelte logik med 2 værdier ? Eller er der noget code, nogle eksempler ?
Ligesom krypterings -algoritmer f.eks. eller ,matematisk logik søger jeg efter et svar på det.

En af jer skriver blandt andet at der gennem tiden har været noget uenighed om på forsker -stadiet om du vil hvad det binære er. Men intet af det i har skrevet har hjulpet mig med at forstå logikken.

Hvad eller "hvordan" oversættes f.eks. ordet skrevet her : "Hallo Verden" i binær form ? eller talet 10 i binær form. Derfor har jeg læst lidt selv på tingene og det viser sig at der står følgende i
EDB-ord 2002: (Bare udklip)

Binær:

Tændt og slukket, eller 0 og 1. Computere fungere ved hjælp af det binære princip, og kan derfor kun repræsentere 0 eller 1.
Trykker man fx på bogstavet "A" på tastaturet, generer tastaturet tallet 01000001 og sender dette til computeren som en række elektriske impulser. På en harddisk eller diskette ligger alt data gemt som nuller eller 1-taller...bla..bla..bla

hexadecimalt talsystem:

Baseret på 16 cifre. I dette system beskrives de decimale tal 0 til 15 med cifrene 0 til 9 og bogstaverne A til F. Det hexadecimale talsystem bruges ofte af programmøre da det er meget lettere at beskrive adresser i computerens hukommelse bla..bla...bla

Det er måske fordi man skal være ingeniør for at forstår sådanne ting på et dybere nivaeu. Hvad er logikken i at når du taster bogstavet a på tastaturet generes tallet 01000001. Det må der jo være nogle der ved noget om siden computere bliver bygget og opfundet.

Jeg lukker bare spørgsmålet. Jeg mener bare at jeg på et tidspunkt har set et XML-dokument i binær form. Og det lignte det rene volapyk. Ligesom når noget er krypteret. Det gør mig egentlig bare endnu mere forviret, men jeg forstår da noget mere nu.



Kommentar
Fra : BertelBrander


Dato : 30-08-06 22:05

"Hallo Verden" er en ascii streng dvs tekst. Den lagres på samme måde i binær form.
På de fleste moderne maskiner vil et H blive gemt som en byte (dvs 8 bit) med tal værdien 72, a vil blive gemt som den næste byte med talværdien 97.

Når vi kommer til 10 ser vi forskellen. Hvis vi opfatter 10 som en ascii streng (igen tekst), vil det blive gemt som 2 bytes, den første med værdien 49 den anden med værdien 48. Vælger vi derimod at gemme det i binær form vil man gemme den som en byte med værdien 10.

Hvis du gemmer ti-tallet som tekst vil du umidelbart kunne læse det i f.ex. notepad. Gemmer du derimod tallet som binært vil notepad ikke kunne vise det som et 10 tal. Den vil sansynligvis tro at det er et linieskift, da et linie skift har ascii værdien 10.

Hvis du har en hex-viever kan du se forskellen. (Der er en glimrende indbygget i Total Commander).
Den kan vise de hex værdien for de enkelte bytes i en fil.
Forskellen på binær, decimal og hexadecimal er om man bruger 2, 10 eller 16 talssystemet.
Tallet 100 i decimalt er 64 i hexadecimalt og 1100100 i binært.

Accepteret svar
Fra : BertelBrander

Modtaget 200 point
Dato : 30-08-06 22:13

01000001 i binært er det samme som 41 hex eller 65 decimalt.
Hvis du startet calc.exe (som findes på de fleste windows versioner) og vælger "videnskabelig" under vis kan du omsætte mellem de forskellige talsystemer.

At a netop har værdien 65 er lidt af en tilfældighed, der er nogle (mest ældre) processorer der bruger andre tal.

Hvis du starter f.ex. notepad og trykker og holder ALT nede, skriver 6 og 5 på det numeriske tastatur, og slipper ALT igen, vil den skrive A. Det er netop fordi A har værdien 65, du har skevet det et A ved at bruge dets værdi.

Kommentar
Fra : BertelBrander


Dato : 30-08-06 22:18

Formålet med binære XML filer er at få det til at fylde mindre og at det skal være lettere for computeren at læse. For modsat os, er en computer bedre til at læse binære filer.

Godkendelse af svar
Fra : MatrixRevolution


Dato : 31-08-06 08:53

Tak for svaret BertelBrander.

Har været inde i lommeregner under videnskabelig og skifte mellem de forskellige talsystemer.

Og notepad skriver rigtigt nok A, hvis man trykker ALT nede og skriver 6 og 5.

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407845
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste