Welcome to Sign in | Help
in Search

Bits

Last post 12-03-2008, 2:16 PM by tebbaerty. 11 replies.
Sort Posts: Previous Next
  •  12-02-2008, 7:17 PM 6292

    Bits

    in sql am vazut ca exista cumpul BIT dar nu este exact ce imi doresc. aveti idee cum pot stoca un sir de bitzi in sql ?
    ideea e ca am un vector de tip byte iar pe fiecare bit am 0 daca nu exista informatie si 1 daca exista informatie.
    acest sir de bitzi trebuie sa il compar cu un sir de bitzi din baza de date ... dar prb e ca nu stiu cum sa stochez sirul de bitzi in baza de date sau cum ar fi mai usor sa fac aceasta comparatie ... avand in vedere ca nu am acces direct nici la bitzi ... ci doar la byte ...
    sper ca m-am facut inteles :(

    Multumesc anticipat
  •  12-02-2008, 8:15 PM 6293 in reply to 6292

    Re: Bits

    Nu cred ca inteleg. Stochezi in baza de date un sir de biti si cautzi un sir de biti? Nu este orice numar un sir de biti? Exprimi sirul de biti ca numarul care-l reprezinta si cautzi acel numar. Daca vrei 01100011 atunci cauti 0x63. Daca ai pina-n 64 de biti stochezi pe un BIGINT, peste 64 stochezi pe un VARBINARY.

    http://rusanu.com
  •  12-02-2008, 8:19 PM 6294 in reply to 6292

    Re: Bits

    poti stoca intr-o variabila varbinary arrayul de biti.iti poti defini totodata si un tip CLR cu care poti lucra direct din tsql,plecand de la clasa dot net bitarray vezi aici :http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/e440bd13-232d-4310-81a1-9112faa3fe32/


    Secolul XXI ori va fi religios ori nu va fi deloc
  •  12-02-2008, 10:25 PM 6295 in reply to 6294

    Re: Bits

    varbinary in sql stocheaza in bytes ... iar bitarray in bitzi :-? .... dar cred ca asta merge... mai ramane de vazut performantza atunci cand se face verificarea :D ..... o sa fac niste verificari ... multumesc :D

  •  12-02-2008, 10:32 PM 6296 in reply to 6293

    Re: Bits

    rremus:
    Nu cred ca inteleg. Stochezi in baza de date un sir de biti si cautzi un sir de biti? Nu este orice numar un sir de biti? Exprimi sirul de biti ca numarul care-l reprezinta si cautzi acel numar. Daca vrei 01100011 atunci cauti 0x63. Daca ai pina-n 64 de biti stochezi pe un BIGINT, peste 64 stochezi pe un VARBINARY.



    am in baza de date un sir de bitzi default .... iar c# obtin un sir de bitzi care pana acum erau stocati grupat 8 bitzi intrun byte... si aveam in c# sirul de bytes  iar in sql aveam sirul de bitzi  ....si pe urma ... nu stiu cum(intrun mod eficient) ... trebuia sa fac compararea intre bitzi din sql si bytes din c# ... acum .... voi incerca sa folosesc BitArray :D si voi avea exact sirul de bitzi si in c# si in sql iar compararea ar trebui sa fie floare la ureche.... :D

    M-am facut mai inteles? :D
  •  12-03-2008, 9:57 AM 6299 in reply to 6296

    Re: Bits

    vezi ca poti avea probleme cu aceasta comparare.Lucru la nivel de bit depinde de tipul deprocesor.Intel vede intr-un fel bitii dintr-o zona de memorie (little indian parca de la stanga la dreapta) iar Alpha invers bigindian de la dreapta la stanga .Asa ca daca tu ai doua tipuri de procesoare diferite pe server siclient ar putea aparea probleme ma gandesc
    Secolul XXI ori va fi religios ori nu va fi deloc
  •  12-03-2008, 10:05 AM 6301 in reply to 6296

    Re: Bits

    Se pare ca  m-am inselat .... Var binary stocheaza in hexa daca nu ma insel. si nu imi dau seama cum as putea face verificarea... :( ...
    Ideea e ca vreau sa retin un vector de bytes in baza de date.

    de ex
    v[1]=7
    v[2]=192
    v[3]=210

    insert into mytable(bits) values (v)

    x=select bits from mytable

    x[1]=7
    x[2]=192
    x[3]=210


    ceva de genul acesta as dori .... s-a mai lovit cineva de acest tip de problema ?
  •  12-03-2008, 10:29 AM 6302 in reply to 6301

    Re: Bits

    o solutie mai putin eficienta este sa stochez totul intrun VARCHAR si dupa aceea sa folosesc Convert.ToInt32('binarystring  meu de lungime 8' ,2)....
    dar daca am un sir de 1024 bitzi si aplic convert pt primii 8 bitzi sa obtin un nr apoi pt  urmatorii ...si tot asa .... sta cam mult .... :(... O solutie mai eficienta ar de apreciat :D

    Multumesc anticipat ....
  •  12-03-2008, 11:17 AM 6309 in reply to 6302

    Re: Bits

    Orice stream de bytes se salveaza in varbinary .Ai putea sa salvezi arrayul de bytes in varbinary in sql fara nici o problema.

    Problema apare pe server in tsql cum accesezi tu streamul asta.Pentru asta ar trebui sa-ti definesti tu o procedura clr pe server pentru asa ceva.Ai operatori de lucru la nivel de biti in c#


    Secolul XXI ori va fi religios ori nu va fi deloc
  •  12-03-2008, 12:15 PM 6314 in reply to 6309

    Re: Bits

    crestinul:

    Orice stream de bytes se salveaza in varbinary .Ai putea sa salvezi arrayul de bytes in varbinary in sql fara nici o problema.

    Problema apare pe server in tsql cum accesezi tu streamul asta.Pentru asta ar trebui sa-ti definesti tu o procedura clr pe server pentru asa ceva.Ai operatori de lucru la nivel de biti in c#



    ma tem ca nu te inteleg .... daca am sirul de bytes x[1]=7, x[2]=192, x[3]=210 teoretic ar veni nr 7192210 si imi salveaza 0x006DBE92.... si de aici cum mai revin la sirul meu de bytes? la nr 7192210 usor sa revin dar trebuie sa il impart si pe asta in 7 192 210 ceea ce mi se pare mai dificil... cred ca voi ramane tot la Convert.ToInt32
  •  12-03-2008, 1:39 PM 6315 in reply to 6314

    Re: Bits

    tebbaerty:

    daca am sirul de bytes x[1]=7, x[2]=192, x[3]=210 teoretic ar veni nr 7192210


    /rofl de mult n-am mai ris cu atita pofta.

    Un vector 7,192,210 va reprezenta 7192210 doar daca cumva il scrii ca decimal-transformat-in-string-fara-spatii, dar nu in vreuna din reprezentarile cunoscute in 'computer science'. Pina una alta 7,192,210 este 0x07C0D2 care este 508114 in decimal.



    http://rusanu.com
  •  12-03-2008, 2:16 PM 6316 in reply to 6315

    Re: Bits

    mam gandit sa pun un separator dar nu mi se pare profesionist .... asa ca am renuntat la ideea asta si am abordat-o pe cea cu convert:D
    multumesc oricum....
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems