login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[wisk] bits AND bytes

Offline Stijn - 24/05/2006 12:53
Avatar van StijnPHP expert hallo

Ik ben een artikel aan het lezen van bits & bytes op wikipedia. Nu vertellen ze het volgende: als je het getal 9 wil omzetten naar bits dan pas je die formule toe: ²log(9)

Nu hoe reken ik dat uit (mbv php) met machten is het niet want log²(9) komt iets anders uit.

http://nl.wikipedia.org/wiki/Bit_(informatica)

bedankt, stijn

10 antwoorden

Gesponsorde links
Offline webstab - 24/05/2006 13:00
Avatar van webstab PHP ver gevorderde log(9)/log(2) ?
Offline Stijn - 24/05/2006 13:04 (laatste wijziging 24/05/2006 13:11)
Avatar van Stijn PHP expert jep , bedankt nu dat tweede hoofdstuk is wat ingewikkeld met die Xn Xn-1 etc

ik weet als het decimaal 9 is dat hij 4 bits nodig zal hebben
-1111
-0000
-0101
-....

als iemand me die X en n kan uitleggen ook goed hoor 

[edit]

stel dat ik een getal 148 heb. dan heb ik 8bits nodig (7.209...)

me getal is 3 cijfers lang dus moet ik dit doen:

²log(1) . 4 + ²log(2) . 2 + ²log(8) . 1

???
stijn
Offline webstab - 24/05/2006 13:18 (laatste wijziging 24/05/2006 13:21)
Avatar van webstab PHP ver gevorderde Bekijk eens op php.net de functies decbin() en bindec(). In combinatie met andere functies moet dat lukken. Alleen snap ik niet goed wat je wil bereiken. Geeft eens een voorbeeld. Dan wil ik wel verder kijken.

Hier vind je nog een voorbeeld.
Offline Simon - 24/05/2006 13:23 (laatste wijziging 24/05/2006 13:25)
Avatar van Simon PHP expert 148
->
1 * 128
0 * 64
0 * 32
1 * 16
0 * 8
1 * 4
0 * 2
0 * 1
->
10010100

got it? 

(ff bijgewerkt)
Offline Stijn - 24/05/2006 13:25 (laatste wijziging 24/05/2006 13:29)
Avatar van Stijn PHP expert me bedoeling is om bits & bytes te leren ik heb een voorbeeld geschreven (onder edit) maar ik weet niet of dit klopt... Het is namelijk die X en n parameters die ik niet weet 

http://nl.wikipedia.org/wiki/Bit_(informatica)#Omrekenen_naar_decimaal_getal

stijn

@simon: hoe kom je aan die 1 en 0 waarom je 8 etc gebruikt snap ik. maar hoe je komt aan die 1 en 0...

[edit]
ik geloof dat ik het snap met die comment van php.net
Offline Simon - 24/05/2006 13:33
Avatar van Simon PHP expert wel, je moet je getal opsplitsen in machten van 2
deze zijn: 1 - 2 - 4 - 8 - 16 - 32 - 64 - 128 - 256 - etc
dan kijk je welke je nodig hebt om je getal te bekomen, in het geval van 148 doe je het zo:
148 = 4 + 16 + 128
je weet dat je 8 bytes nodig hebt:
1 0 0 1 0 1 0 0
eerste 1 voor 128, tweede voor 16 en derde voor 4, de nulletjes (waarbij dus andere machten van 2 horen) kan je niet gebruiken.

Ander voorbeeld:
342 -> 9 nodig
342 = 256 + 64 + 16 + 4 + 2

1 0 0 1 0 1 0 1 1 0

begrijp je?
Offline Stijn - 24/05/2006 13:41 (laatste wijziging 24/05/2006 13:54)
Avatar van Stijn PHP expert ja het voorbeeld van php.net verklaarde eigenlijk alles maar bedankt voor extra info.

stijn

het is dat principe dat ik volg:

Citaat:
8 goes in to 10 so the first digit is 1 leaving 2
4 does not go in to 2 so the second digit is 0
2 goes in to 2 so the third digit is 1
1 does not go in to 0 so the fourth digit is 0


[edit]

je andere voorbeeld is verkeerd. 342 = 101010110 (gecontroleerd met decbin) die methode is het beste dus
Offline Jim - 24/05/2006 13:44 (laatste wijziging 24/05/2006 13:45)
Avatar van Jim Lid gewoon een tabelletje opschrijven.

  1. +-----+-----+-----+-----+------+----+-----+------+------+
  2. | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
  3. +-----+-----+-----+-----+------+----+-----+------+------+

Stel dat je nu wilt hebben het getal 3 dan doe je ->

  1. +-----+-----+-----+-----+------+----+-----+------+------+
  2. | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
  3. +-----+-----+-----+-----+------+----+-----+------+------+
  4. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
  5. +-----+-----+-----+-----+------+----+-----+------+------+


want 2 + 1 = 3

Zo doe je dat dan met alle getallen

Offline Thomas - 24/05/2006 13:48
Avatar van Thomas Moderator We tellen normaal met het decimale stelsel (machten van 10).
Binair tellen doe je met het binaire (2-tallige) stelsel.

Zie ook variabelen in PHP. Daar staan het octale (8-tallige) en hexadecimale (16-tallige) stelsen uitgelegd.

Het principe is altijd hetzelfde.

Je zou ook een 13-tallig stelsel (of een n-tallig stelsel, met n > 1) kunnen maken. Hier wilde ik mijn en- en decryptie-algoritme op baseren bij de wedstrijd die een tijdje geleden liep: pak een aantal priemgetallen, en ga achtereenvolgens de karaktercodes van de te en-/ decrypten text vertalen naar de p-tallige stelsels. Jammergenoeg kwam ie niet op tijd af .
Offline Stijn - 24/05/2006 13:57 (laatste wijziging 24/05/2006 14:00)
Avatar van Stijn PHP expert kan iemand me dit verschijnsel eens uitleggen (hex ofzo wordt het genoemd ...)

0x0145 (soms ook 0xFFFF)

ik heb het al eens gevraagd en dit wordt voorgesteld als bytes/bits.

stijn

[edit]

ik snap het met die n-stelsels kzal es proberen voor eigen stelsel te maken de inf-stelsel xD dat is natuurlijk onmogelijk omdat je getal dan zelf inf is. een priemgetal als n stellen zeker 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.212s