Advertentie | |
|
![]() |
||
Verwijderd
|
Citaat:
1? of 3? Ik ga even uit van 1, zodat ik bit-shifting even uit kan leggen... ![]() Bits, nibbles en bytes: Een bit kan een 0 of 1 bevatten. 4 bits vormen een nibble. 2 nibbels vormen een byte, dus heeft een byte 8 bits. Het verband tussen hex en binair: Hex staat voor 16. Een byte heeft 256 waarden, en laat dat nu net 16^2 zijn ![]() Een hex getal staat dus voor een nibble ![]() Om om te rekenen van binair naar hex, kun je het volgende doen: Neem 00110010b. Verdeel dit in 2 nibbles: 0011b en 0010b 0011b = 3 0010b = 2 Dit levert in hex het getal 32 op ![]() Bit-shifting Het volgende verhaal is ter illustratie; werkelijke groottes van de CPU registers zijn anders Een CPU heeft registers. Dit ga ik nu niet allemaal uitleggen ![]() Laat dit register 1 byte groot zijn. AX in onderverdeeld in AH (high order bit) en AL (low order bit). In dit voorbeeld zijn AH en AL nibbels (de helft van een byte). AX = AHAL Wanneer in AX 0000 0001b staat, staat in AL 0001b en in AH 0000b. STEL dat we niet verder kunnen rekenen dan 0Fh., maar wel getallen groter dan 0Fh weegeven ![]() We willen 9 + 9 uitrekenen. Hoe doen we dit? Op de volgende manier: AX = 9 = 0000 1001b --> AH = 0000b en AL = 1001b We schuiven de bits in AX 2 naar links, oftewel SHL AX, 2. SHL staat voor SHift Left. We schuiven 2, omdat dat de helt is van het aantal bits in een nibble; wanneer we 4 zouden gebuiken, zouden we het hele register overzetten, waar we dus niks aan hebben. ![]() Nu staat in AX: 0010 0100b (= 24h) Met in AH 0010b en in in AL 0100b Nu schuiven we AL twee naar rechts (SHR AL, 2): AL = 0001b Nu doen we AH + 0010b en AL + 0001b (we schuiven het getal waarmee we optellen ook op dezelfde manier, in een ander register). Dit levert AH = 0100b AL = 0010b AX = AHAL = 0100 0010b Om het goede getal te krijgen, moeten we alles weer omgekeerd terugschuiven: SHL AL, 2 SHR AX, 2 AX = 0001 0010b AH = 0001b AL = 0010b In AX staat nu 12h, en dat is 1 * 16^1 + 2 * 16^0 = 18d, en dat klopt! En zo hebben we goed rekent met meer getallen dan we aankunnen... ![]() Tja.. dit is bit-shifting in het kort. Hopelijk snap je het! ![]() ![]() ![]() Laatst gewijzigd op 18-04-2002 om 10:21. |
![]() |
||
![]() |
Citaat:
maar een 1 met een miljoen nullen erachter is wel geil ja ![]() ![]() |
![]() |
|
Ja die programma's hierboven zijn de enige betaalbare (maple uitgezondert of je moet de proefversie nemen) toen ik een onderzoekje heb gedaan voor pi schreef hij alles automatisch weg naar mijn HD, daar schrok ik eerst van want dat loopt al snel in de enkele giga bytes als je met grote getalen werkt. Maar wat wil je dan onderzoeken, want het lijkt me sterk dat je echt zo'n giga getallen wilt gebruiken.
|
![]() |
||
Citaat:
3 * 10^1000000000000000000 is namelijk volgens mij maar 1 digit, en daar kan hij wel mee rekenen, denk ik.
__________________
.oO(DrPain)Oo. ~Where fears and tears meet...~
|
![]() |
||
Verwijderd
|
Citaat:
|
![]() |
|
Verwijderd
|
Zie The Art Of Assembly voor veel info over... assembly en consorten
![]() En voor hoe die wiskunde programma's werken... zoals ik al zei met bit-shifting, en ik denkt teven met data opslag. Stel dat ze niet verder kunnen erkenen dan 32 bits. Wanneer de verder willen gebruiken ze dus bit-shifting, en wat ze 'eruit' shiften, kunnen ze in een andere plek op het geheugen zetten. Of in een tekstbestand... ![]() Wanneer ik assembly kan, zal ik wel eens proberen zo'n programma te schrijven (dit zal wel lang duren ![]() ![]() |
Advertentie |
|
![]() |
|
|
![]() |
||||
Forum | Topic | Reacties | Laatste bericht | |
De Kantine |
Programmeurs/ict'ers gezocht! Ik maak je huiswerk BigSnicker | 48 | 18-12-2015 17:56 | |
Levensbeschouwing & Filosofie |
Wetenschap en Spiritualiteit Mr.Mark | 50 | 04-12-2011 11:20 | |
Software & Hardware |
[Algemeen/Discussie] Open Source ILUsion | 18 | 29-09-2005 03:30 | |
Huiswerkvragen: Klassieke & Moderne talen |
gedichtenbespreking deel 3 Wouty | 6 | 19-10-2001 18:07 | |
ARTistiek |
gedichtenbespreking deel 3 Wouty | 5 | 18-10-2001 14:39 | |
Huiswerkvragen: Exacte vakken |
Doping juutje_17 | 8 | 06-04-2001 13:37 |