Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Binäärimuunnoksia

sooda [19.02.2004 11:31:07]

#

Binääri-desimaali-binääri kääntäjä. kääntää vain 0-255 arvoisia jutskuja (tavu) mutta voi soveltaa kyllä, lisää vaan vähän kuinka pitkälle loopit menee niin se o suunnilleen siinä :) ja bitti on sitten vain 1 tai 0 :D jos menee jollain sekaisin :D
Bitti-Infoa:

bitti 0    1
bitti 1    2
bitti 2    4
bitti 3    8
bitti 4    16
bitti 5    32
bitti 6    64
bitti 7    128

eli bitin arvo on 2 ^ moneskobitti.
ja binäärit menee sillä tavalla että vähiten merkitsevä bitti(bitti 0) on oikeimmalla, eli ne menee niin että esim binääri 1010 on 8+2=10 koska neljäs bitti on 1(ensimmäinen tossa merkkijonossa) ja toinen on myös 1, ja 2^3+2^1=8+2=10. HUOMAA että bitit alkavat nollasta eli ensimmäinen bitti on bitti 0 eli 2^0 jne.
Tuskin kukaan tästä mitään tajusi mutta kysyä saa :)
(hei, mulla on bittihätä, missä on lähin PC? :DDD)

(oho, kattokaa urlissa tota id:tä. taitaa olla 800. lähetetty vinkki, jeee :))) )

Function dec2bin(dec As Integer) As String

    For i = 7 To 0 Step -1 'takasinpäin ettei tulisi väärinpäin arvoa
        bt = 2 ^ i 'bitin arvo
        b = (dec And bt) = bt 'onko bitti päällä dec:issä
        t = t & Abs(b) 'kasvatetaan loppuarvoa
    Next
    dec2bin = t

End Function

Function bin2dec(bin As String) As Integer

    For i = 0 To 7
        bt = 2 ^ i 'bitin arvo
        b = Val(Mid(bin, 8 - i, 1)) 'haetaan bitti
        b = b * bt 'jos bitti on 1, siitä tulee oikea arvo
        t = t Or b 'lisätään t:hen bitti, voisi myös plussata mutta Or on leetimpi ;P
    Next
    bin2dec = t

End Function

setä [20.02.2004 13:36:23]

#

Hyvin on bitit hallussa mutta mahdatko testailla porukan ynnälaskutaitoja tuolla 8+2=9 ???

sooda [20.02.2004 21:13:21]

#

oho setä :DDD tuli paha moka :D korjataans. xDDD

thefox [21.02.2004 00:19:53]

#

Minusta on aika hämäävää (ja epäkorrektia) sanoa että "bitin arvo on 2 ^ moneskobitti." :) Samantyyppisiä vinkkejä taisi QB osastolla jo ollakin.

sooda [21.02.2004 12:13:50]

#

lainaus:

Minusta on aika hämäävää (ja epäkorrektia) sanoa että "bitin arvo on 2 ^ moneskobitti."

mitenni? xDD jos bitti on vaik 2. niin sen arvo on 2^2. :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta