"1-Bitne" baze podataka sa 1 poljem i vise kolona.
Prikazujem rezultate 1 do 10 od 10

Tema: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

  1. #1
    Zainteresovan član
    Učlanjen
    09.07.2008.
    Poruke
    163
    Reputaciona moć
    0

    Podrazumevano "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Kod:
             POLJE 1 POLJE 2 POLJE 3   . . .
    KOLONA 1 stavka  stavka  stavka
    KOLONA 2 stavka  stavka  stavka
    . . .    .   .   .
    Radi se o 1 polju, jer je u pitanju 1-bitna baza. Svaka stavka ima ili jednu ili drugu od 2 vrednosti (recimo 1 i 0).

    1 Bajt nosi 8 polja. To bi znacilo da bi tabela od 1024 polja imala 128 bajtova.

    Bajt moze da prikaze jednu od 256 vrednosti. Ako bajt predstavimo sa B256 tabela bi snimljena u fajlu izgledala ovako: B256 B256 B256 B256 B256 B256 . . . pre ovih bajtova postojao bi "count" ili "sizeof" ili "lenght" (kako ocete) bajt, koji predstavlja broj stavki u tabeli, kojeg bi program prvog ucitao da bi znao kolko posle da cita. Ali to je manje bitno sad.

    Treba mi kod koji ce razbiti bajt u 8 bitova, to jest, omoguciti mi da tumacim 1 bajt (vrednost od 0 do 255) u 8 vrednosti (0|1 0|1 0|1 0|1 ...)... odnosno, algoritam.

    Dalje, treba mi forumula za racunanje broja mogucih kombinacija u brojevnom sistemu sa n cifara za nc kodnih mesta, u koliko su sva kodna mesta popunjena.

    Broj cifara: (dekadni) 10, (binarni) 2, (oktalni) 8...
    Kodno mesto: (broj) 10 1 = kodno mesto 1, 0 = kodno mesto 2. Broj 321: kodno mesto 1 = 3, kodno mesto 2 = 2, kodno mesto 3 = 1. Kodna mesta su mesta za broj.

    Dakle, treba mi recimo (primer) info. o tome koliko je mogucih kombinacija razlicito rasporedjenih 1 i 0 u binarnom broju sa 8 kodnih mesta, koliko sa 4, itd... znaci, treba formula a ne konkretan podatak. Hvala vam.

    ___ ___ ___ ___ ___ ___ ___ ___ ___ ___

    evo za sta ce mi to:

    Pravim .dll koji obavlja poslove oko unosa podataka u konzolu. E sad, tu ima naprednijih malo mogucnosti (boje slova, ne dozvoljavanje da se unesu brojevi/slova (ako treba samo brojeve pisati), ne dozvoljavanje korisniku da unese vise cifara/slva nego sto je fixed lenght of that text box, auto-complete (ako ukucam M da mi ponudi "OV" da bi bilo "MOV" (lupam primer), auto-correct, correct-case, trimming (brisanje suvisnih space-ova), editovanje, copy-paste, menjanje insertation point-a itd.), i koji ce mi biti spreman da mi bude pri ruci kad god pozelim da napravim nesto i skracivati mi vreme jer ga vec imam gotovog.

    Najveci mi je problem oko toga da ocu kad ukucam 1 2 3 slova on odma ponudi sa strane u jednom delu konzole "informacije o tome sta mogu napisati/sta sam vec pisao" tj. kao auto-komplit. Pretraga klase koja cuva te podatke o tome bi trebala biti djavolski brza, a optimizovana za to da program nikad ne prekoraci 1 Mb memorije. Ono sto pravi najvecu zabunu je sto bi postojala jedna don't allow error komponenta, koja ti brani da uneses nesto sto nebi bio validan podatak. Recimo, kad bih uneo "M" (a moguce reci su MIX i MOVE) to mi nebi dozvolilo da unesem posle M nista drugo osim ili I ili O, ako ukucam X sve bi izgledalo kao da nista nisam ukucao.

    E sad, da bih napraivo tu komponentu, koja je opcionalna (ne mora se koristiti za svaki Text Box, imalo bi verzija koje su brze, ali je ne podrzavaju, optimizacija itd...) trebao bih imati referencu na neku tablu koja "zna" sta sledece mogu da napisem, a sta ne... i puni neki class podacima o tome sta nije dozvoljeno cim joj se prosledi ono sto sam do sada ukucao, a taj drugi class opet brani unos nepravilnih podataka.

    Za "taj drugi klass" bih stavio nesto ovako, sto ima tacno ovakvu tabelu: 32 bajta (od kojih svaki bit znaci 'da li je slovo sa tim ANSI kodom dozvoljeno uneti', dje je "taj asni kod" u stvari offset bita u bitovima od pocetka tabele (recimo u 4tom bajtu od pocetka tabele, 8 bit bi signalizovao da li je space bar dozvoljeni pritisnuti, posto je ANSI kod za space = 32). Dalje, u istoj tabeli bi zatim bilo posle ta 32 jos 128 bajtova, od kojih bi svaki redom predstavljao "koja slova je nedozvoljeno pritisnuti", radi nekih drugih opcija, to jest, sadrzao bi iste informacije kao i ona tabla od 32 bajta, s tim sto je ova sad bolja za nesto, a ona je bila bolja (brza) za nesto drugo. Izmedju ove 2 table bi bio jedan bajt koji indicira "da li je vise znakova dozvoljeno ukucati nego sto je nedozvoljeno ili je vise nedozvoljeno nego sto je dozvoljeno", pa bi prema tome u slucaju da je on postavljen (vise je nedozvoljeno) tabla od 128 bitova oznacavala samo "sta je dozvoljeno" (obrnuto od gornjeg slucaja). Tako bi informacije o tome koji se od 256 mogucnosti (znakova) smeju uneti stala u samo 128 bajtova + 1 prekidac (ovaj sto znaci cega je vise).

    Svaki bajt u toj tabeli koji je postavljen bi sadrzao broj (ANSI kod) znaka koji je dozvoljen/nedozvoljen, a bajtovi bi bili poredjani jedan do drugog.

    Ta tabela od 128 bajtova bi sluzila za prikazivanje auto-complete liste, tj. da ga ubrza... al to je sad duga prica.

    OVAJ DRUGI DEO NE MORATE CITATI



  2. #2
    Ističe se
    Učlanjen
    01.07.2004.
    Pol
    muški
    Lokacija
    Nis
    Poruke
    2.774
    Reputaciona moć
    78

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Citat Original postavio opkoracujem Pogledaj poruku
    Dakle, treba mi recimo (primer) info. o tome koliko je mogucih kombinacija razlicito rasporedjenih 1 i 0 u binarnom broju sa 8 kodnih mesta, koliko sa 4, itd... znaci, treba formula a ne konkretan podatak. Hvala vam.
    Pretvaranje dekadnog u binarni broj: delis sa 2 i pamtis ostatak kao (na primer) niz, kad dodjes do kraja pogledas niz unazad i to ti je binarni broj, probaj na papiru.

    Broj mogucih kombinacija: 2 na n (gde je n broj cifara) 2 na 8 je 256, 2 na 10 1024 i td.
    Poslednji put ažurirao/la Pjer_Nis : 31.07.2008. u 10:54
    Čiste ruke
    Hladna glava
    I vatreno srce

  3. #3

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Citat Original postavio Pjer_Nis Pogledaj poruku
    Pretvaranje dekadnog u binarni broj: delis sa 2 i pamtis ostatak kao (na primer) niz, kad dodjes do kraja pogledas niz unazad i to ti je binarni broj, probaj na papiru.
    ja delio 1572:2 i to mi ispalo 786, a ostatci su bili ovim redosledom na dole: 1,1,0 ,
    sto bi znacilo da je obrnuto 011, ali to NE MOZE biti taj broj, a i proverio sam na Winblowsovom calculatoru, nije to to. Jel ja ovo nisam dobro shvatio? Molim te objasni mi u cemu sam gresio ili sta sam propustio, ako primecujes...

  4. #4
    Ističe se
    Učlanjen
    01.07.2004.
    Pol
    muški
    Lokacija
    Nis
    Poruke
    2.774
    Reputaciona moć
    78

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Citat Original postavio V1C10U5K1LL1NGM4CH1N3 Pogledaj poruku
    ja delio 1572:2 i to mi ispalo 786, a ostatci su bili ovim redosledom na dole: 1,1,0 ,
    sto bi znacilo da je obrnuto 011, ali to NE MOZE biti taj broj, a i proverio sam na Winblowsovom calculatoru, nije to to. Jel ja ovo nisam dobro shvatio? Molim te objasni mi u cemu sam gresio ili sta sam propustio, ako primecujes...
    Sto si se odmah uhvatio za veliki broj?
    Evo uzmi recimo 12 dekadno, da vidis princip:

    12/2 = 6 i ostatak je 0
    6/2 = 3 i ostatak je 0
    3/2=1 i ostatak je 1
    1
    znaci unazad je 1100
    provera:
    0x2 na 0 +
    0x2 na 1 +
    1x 2 na 2 (4) +
    1x 2 na 3 (8) = 12

    20 dekadno:
    20/2 = 10 i ostatak 0
    10/2 = 5 i ostatak 0
    5/2 = 2 i ostatak 1
    2/2 = 1 i ostatak 0
    1
    znaci: 20 dekadno = 10100 binarno

    ok?
    Čiste ruke
    Hladna glava
    I vatreno srce

  5. #5

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    hvala, mada 15 nisam uspeo da izracunam jer sam dosao do dela 3.75/2 = 375/200 = 1.8888... ako se ne varam mada nisam puno spavao sinoc a i mrzi me ponovo da racunam, verovatno je do mene

  6. #6
    Obećava
    Učlanjen
    03.08.2008.
    Poruke
    59
    Reputaciona moć
    0

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    12 / 2 = , 0
    = 6 / 2 =, 0
    = 3 / 2 =, 1
    = 1 ~ 1

    1100

    e sad, meni nije jasno ono Little-endian, big-endian.
    u jedan bi valjda bilo 00001100b, a u drugi?

  7. #7
    Obećava
    Učlanjen
    03.08.2008.
    Poruke
    59
    Reputaciona moć
    0

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    00110000b?

  8. #8
    Ističe se
    Učlanjen
    01.07.2004.
    Pol
    muški
    Lokacija
    Nis
    Poruke
    2.774
    Reputaciona moć
    78

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Citat Original postavio V1C10U5K1LL1NGM4CH1N3 Pogledaj poruku
    hvala, mada 15 nisam uspeo da izracunam jer sam dosao do dela 3.75/2 = 375/200 = 1.8888... ako se ne varam mada nisam puno spavao sinoc a i mrzi me ponovo da racunam, verovatno je do mene
    Ovde nema decimala, ovo je celobrojno deljenje, prouci malo bolje primere koje sam ti napisao.
    Čiste ruke
    Hladna glava
    I vatreno srce

  9. #9
    Ističe se
    Učlanjen
    04.01.2008.
    Pol
    muški
    Lokacija
    localhost
    Poruke
    2.842
    Reputaciona moć
    65

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Citat Original postavio V1C10U5K1LL1NGM4CH1N3 Pogledaj poruku
    hvala, mada 15 nisam uspeo da izracunam jer sam dosao do dela 3.75/2 = 375/200 = 1.8888... ako se ne varam mada nisam puno spavao sinoc a i mrzi me ponovo da racunam, verovatno je do mene
    Hm,pa kako ocekujes da dobijes ostatak kad tako delis?
    Celobrojno deljenje....ime sve govori

  10. #10
    Obećava
    Učlanjen
    03.08.2008.
    Poruke
    59
    Reputaciona moć
    0

    Podrazumevano Re: "1-Bitne" baze podataka sa 1 poljem i vise kolona.

    Bilo koji bajt ORovan sa 00001000b (ako je 1 4ti bit[1]) ce postaviti (set) ili reset (ako je vec postavljen) 4ti bit (postaviti = da bude 1), a vrednosti ostalih sacuvati.

    Bilo koji bajt ANDovan s' 11110111b (ako je 1 4ti bit[1]) ce obrisati (clear) ili ponovo obrisati (...?) bit br. 4, a ostale ce sacuvati.

    Bilo koji bajt(destination) ANDovan sa 00001000b(source) (ako je 1 4ti bit[1]) ce dati:
    1. vrednost vecu od nule ako je i u bajtu koji je ANDovan taj bit postavljen, 2. ...ako nije dati vrednost 0.

    [1] "4ti" ako prvi bit racunamo kao "bit 1", a "3ci" ako prvi bit racunamo kao bit "0", moze biti i "5ti" ili "4ti", zavisi da li gledamo sa leve strane ili desne, e sad, neka od tih strana je u big-endian, a neka druga u little-endian. Ja ne znam tacno koja je za koji, zato sam pitao gore.

    Onde se ne misli na AND i OR koji su za bitove (u C++-u i C-u & i |), a ne na one logicke, kako li se zovu... (u C++-u i C-u && i ||). U IA-32 se AND i OR koriste za logicke skokove, kao i TEST i CMP itd...
    Recimo, ovako izgleda u C++-u:

    Kod:
    if (a == b)
    { 
    /* Nema potrebe za zagradama ako je u bloku samo 1 
        izraz, ali mogu da stoje..
            */
        b = 4;
    }
    u assembly:

    Kod:
    mov EAX, a        ;stavlja a u registar, EAX, EAX je sada a.
    cmp EAX, b 
        ;Recimo samo to da ne vrsi oduzimanje, 
    ;ali ukoliko bi rezultat operacije oduzimanja a - b  bio 0
    ;onda postavlja odredjeni bit u jednom ... registru, zovimo 
    ;ga (taj bit, mada se moze tumaciti kao poseban registar...)
    ;ZF, na 1.
    
    je LL1    ;  //JumpIfEqual 
        ;ukoliko je bit ZF 1 onda se desava nesto kao
    ;C-ovo goto na lokaciju oznacenu nalepnicom LL1.
    ;I ukoliko ... jos nesto ali to je nebitno za ovaj primer....
    ;za ovaj primer.
    
    jmp LL2        ;"goto" na LL2.
    LL1:
    mov b, 4        ;"b = 4", stavlja 4 u b.
    LL2:
    ;>>>>
    ili recimo:

    Kod:
    if ((al > bl) || (bl > cl)) //al bl i cl su registri unutar nekih drugih registara...
    {
        cl = 4;
    }
    za C++, je u assembly:

    Kod:
    cmp al, bl
        ;cmp [destination], [source] 
    ;    ovde je al destinacija (bl "izvor").
    ;    ...
        ;ako je al manji od bl, onda bi rezulatat bio negativan
    ;sto znaci da ce ZF biti obrisan (0) a jedan drugi, CF, 
    ;ce biti postavljen. Ukoliko je al vece od bl, onda 
    ;ni ZF ni CF nisu postavljeni... jer rezultat nebi bio ni 0
    ;ni broj izvan ranga... dakle, obrisani su.
    
    ja LL1    ;  //JumpIfAbove
        ;ako ni ZF ni CF, (ni jos nesto 
    ;nebitno za ovaj primer...) onda se desava kao "goto" 
    ;LL1 u C-u.
    
    jmp LIzlaz    ;"goto" LIzlaz.
    LL1:
    cmp bl, cl
    ja LL2:
    jmp LIzlaz
    LL2:
    mov cl, 4
    LIzlaz:
    E ubi me ako znam zasto sam pisao ovaj primer, i jedva sam ga sastavio jer tek ucim ovaj MSAM (nije to jedini assembly) i td... , al neka stoji

Slične teme

  1. Kreiranje PDF iz baze podataka
    Autor stvt u forumu Web dizajn
    Odgovora: 2
    Poslednja poruka: 20.02.2007., 16:30
  2. Filtriranje podataka iz baze????
    Autor orthodoxsc u forumu Programiranje
    Odgovora: 11
    Poslednja poruka: 14.09.2006., 04:15
  3. baze podataka
    Autor baza u forumu Programiranje
    Odgovora: 4
    Poslednja poruka: 29.09.2004., 17:19
  4. Delphi - Baze podataka
    Autor Freestyler u forumu Programiranje
    Odgovora: 0
    Poslednja poruka: 22.09.2004., 22:49
  5. BAZE PODATAKA
    Autor NO PROBLEM u forumu Programiranje
    Odgovora: 6
    Poslednja poruka: 13.07.2004., 18:17

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •