Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


text till binärkod

Postades av 2002-01-30 16:31:32 - Andreas Olausson, i forum visual basic - allmänt, Tråden har 13 Kommentarer och lästs av 1551 personer

Någon som vet hur man konverterar vanlig text till binärkod?

tack Andreas


Svara

Sv: text till binärkod

Postades av 2002-01-30 17:13:35 - Niklas Jansson

Vad skall du ha det till?
Om du vill konvertera en bokstav till talkoden använder du

iKod=Asc(sBokstav)

(Funktionen använder första bokstaven i strängen)

Sättet du använder beror lite på vad du skall ha den till.

/Niklas Jansson


Svara

Sv: text till binärkod

Postades av 2002-01-30 17:15:30 - Thomas Tydal

Allt du har i datorn, även text, är i binärkod.

Vad är det du vill göra?


Svara

Sv: text till binärkod

Postades av 2002-01-30 18:40:41 - Andreas Olausson

Jag kanske var lite oklar.
Det jag vill är att bygga binär-träd, som då ska bli väldigt snabba att söka i.


Svara

Sv: text till binärkod

Postades av 2002-01-30 18:48:36 - Sven Åke Persson

Hej
Jag tror att du tänker fel.
Alla texter är binära i grunden.

En som tror att han tror hur en annan tror

mvh
Sven


Svara

Sv: text till binärkod

Postades av 2002-01-30 19:04:37 - Thomas Tydal

Vet du hur binärträd fungerar och vill veta VB-kod för att skapa det? Eller kan du VB hyfsat och vill veta hur binärträd fungerar? Jag kan hjälpa dig med det senare, för jag programmerar ju en hel del, men jag har inte sett någon anledning att lära mig avancerade saker i VB eftersom det ändå är enklare och går snabbare att göra det i C.


Svara

Sv: text till binärkod

Postades av 2002-01-30 19:35:18 - Andreas Olausson

Jag kan VB och det är träden jag är ute efter...

Det vore väldigt vänligt om du berättade

tack Andreas


Svara

Sv: text till binärkod

Postades av 2002-01-30 20:36:58 - Thomas Tydal

Först ska jag väl nämna den länkade listan. Ska man ha en stor lista, eller en lista som kan variera mycket i längd, är det inte så lämpligt med en array eftersom en array har en bestämd storlek. En länkad lista däremot tar inte upp mer plats än den behöver och det är inga problem att lägga till och ta bort saker ur listan. Varje element i listan innehåller nämligen förutom datat också en länk till nästa element, och det är så själva listan upprätthålls. För att överföra listan till en funktion så skickar du bara över länken till första elementet, för alla övriga element fås ju därur. Nackdelen är att det inte finns något sätt att direkt ta sig till (exempelvis) det trettionde värdet, utan man måste då stega sig igenom listan tills man har nått det värde man vill ha. Att söka i en sån här lista kan alltså ta ganska lång tid. I värsta fall blir man ju tvungen att gå igenom hela listan.

Ett binärträd bygger också på att man länkar till olika element, men med skillnaden att ett element har två länkar (vänster och höger) istället för bara en. På något sätt ska man kunna göra en jämförelse och om det eftersökta värdet är mindre än det aktuella elementets så tar man den vänstra länken, annars den högra. I det optimala fallet så finns det lika många element till vänster som till höger och att hitta rätt värde bland N st kräver i värsta fallet bara att man följer log2 * N länkar (istället för N st som i fallet med den länkade listan).

Har vi t.ex. en enkel telefonkatalog med sju namn så lagras det så här: (egentligen kan man ju rita upp det som ett fint träd, med Nilsson i toppen, och så går det ner två grenar därifrån till Eriksson och Svensson varifrån det går grenar till Andersson och Johansson respektive Olsson och Turesson)

värde: Nilsson
vänster: Eriksson
höger: Svensson

värde: Eriksson
vänster: Andersson
höger: Johansson

värde: Svensson
vänster: Olsson
höger: Turesson

värde: Andersson
vänster: NULL
höger: NULL

värde: Johansson
vänster: NULL
höger: NULL

värde: Olsson
vänster: NULL
höger: NULL

värde: Turesson
vänster: NULL
höger: NULL

Ska vi nu söka efter Olsson går det till så här:

Vi jämför först Nilsson mot Olsson, är Olsson större, mindre eller lika? Det är större än Nilsson, alltså går vi till höger och hamnar på Svensson. Ny jämförelse. Olsson är mindre än Svensson, vi går till vänster och hittar Olsson. Är det större, mindre eller lika med Olsson? Det är lika. Vi har hittat det vi sökte och behövde bara följa tre länkar.

Söker vi efter Jonsson så kommer vi att gå vänster från Nilsson, till Eriksson, därifrån höger (Jonsson kommer efter i alfabetet) till Johansson och därifrån höger igen till NULL. NULL innebär att det är slut och vi får meddela att Jonsson inte fanns. Och vi behövde inte ens gå igenom hela listan!

Vad det gäller sökning är det ju rätt praktiskt, men vad händer om vi ska lägga in fem personer till som heter X-sson, Y-gren, Z-ström, Å-sson och Ä-sson? Ja, då hamnar de ju nere hos Turesson och vi får en övervikt på personer där, vilket gör att det tar längre tid att söka i den delen av alfabetet. Inte bra. Allt eftersom det läggs till saker i trädet måste man "balansera" om det (i det här fallet kanske Olsson får hamna överst istället för Nilsson) så det blir jämnt (eller jämnare) fördelat.

Exakt hur man balanserar lämnar jag (som det så vackert heter :-) som en övning åt läsaren. Eller så kanske jag utvecklar det senare om det behövs. Nu har du nog förhoppnings fått lite att jobba med i alla fall...


Svara

Sv: text till binärkod

Postades av 2002-01-30 22:46:26 - Andreas Olausson

Tack för svaret. men om jag inte är du så har du skrivit fel...

Kan olsson vara till vänster om Svensson?

borde det inte vara
Ols
|
--------
| |
Sven.. Ture

Jag mailar dig....


Svara

Sv: text till binärkod

Postades av 2002-01-30 22:59:57 - Thomas Tydal

Tänk på att det på varje ställe ska finnas lika mycket till vänster som till höger. Både Svensson och Turesson kommer ju efter Olsson i alfabetet, alltså skulle det bli mer till höger om du satte Olsson överst.

Du kan fördela det hur du vill, men om det inte är jämnt så får du inte den där snabba sökningen garanterad.

Kom också ihåg att det som står till vänster ska komma före i alfabetet och det som står till höger ska komma efter. Med Olsson överst blir det alltså:

Olsson
|
-------------
| |
NULL Svensson
|
-----------
| |
NULL Turesson


Svara

Sv: text till binärkod

Postades av 2002-01-30 23:07:35 - Andreas Olausson

då har jag ju fattat...*wow*

men om jag har en log från IIS med info om vilken sida som är besökt och vilken ip och domän besökaren hade mm...

det blir ju fler dimensioner då eller?


Svara

Sv: text till binärkod

Postades av 2002-01-30 23:27:24 - Thomas Tydal

Ja, du får göra fler binärträd; ett för varje sorts data du behöver kunna söka efter, plus ett som knyter ihop dem. Varje rad i loggen får ett unikt nummer.

Säg t.ex. att loggen ser ut så här:

192.168.0.7 local2.net http://host/index.html
192.168.0.7 local2.net http://host/somewhere/
192.168.0.9 local4.net http://host/index.html
192.168.0.6 local1.net http://host/index.html
192.168.0.8 local3.net http://host/somewhere/else/

Vi ger varje rad ett unikt id-nummer (1-5) och lägger upp dem i ett träd:

ID: 3
Host: 192.168.0.9
Domain: local4.net
URI: /index.html
Vänster: 2
Höger: 4

ID: 2
Host: 192.168.0.7
Domain: local2.net
URI: /somewhere/
Vänster: 1
Höger: NULL

Osv... (Du hänger väl med?)

Dessa ID-nummer som varje rad i loggen får använder vi nu som data i de övriga binärträden. Eftersom de olika sakerna (host, domain och uri) kan förekomma samma flera gånger får vi lagra ID-numrena i en länkad lista.

Vi tar och kikar på host först:

Host: 192.168.0.8
ID: 5
Next_ID: NULL (192.168.0.8 förekommer ingen fler gång.)
Vänster: 192.168.0.7
Höger: 192.168.0.9

Host: 192.168.0.7
ID: 1
Next_ID: (Pekar på ID: 2 och Next_ID: NULL)
Vänster: 192.168.0.6
Höger: NULL

Osv... Sedan gör du likadant med domain och uri och använder samma id-nummer...


Svara

Sv: text till binärkod

Postades av 2002-01-30 23:31:18 - Thomas Tydal

Kanske kan tilläggas att om du inte vill sitta och skriva egen kod för det här så finns det redan program som gör det. De kallas för databaser och använder ett språk som heter SQL för att söka efter data. Exempel på program för det är MS SQL Server och MySQL. Den senare är gratis och finns på http://www.mysql.com/


Svara

Sv: text till binärkod

Postades av 2002-01-30 23:41:08 - Andreas Olausson

Jo jag känner till sql :-)
men den blir för slö om man stoppar in 20 gigabyte om dagen...


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 632
27 953
271 710
8 587
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies