Manipuláció a bájtok és bitek
Az üzemeltető a gyakorlati alkalmazásának az inverziós minta
Funkciók Biteltolás balra (SHL) és a jobb oldali (SHR) oldalán. Az előző cikkben láttuk, az asztalon, hogy ha a magas rendű Biteltolás a bal és a jobb attribútum értéke 0, a szám megduplázódik (vagyis a hatalom kettő). Csak a műszak bitek és a gazdasági szereplők SHL és SHR. SHL üzemben működik százszor gyorsabb, mint egy normál hálózati operátor ^, tehát ha van szüksége a sebesség, célszerű elhelyezésére az üzemeltető.
Amikor dolgozik SHR üzemben van némi trükk. Ez a megállapítás teszi a fordított műveletet tekintetében a SHL. de ha a jobb szélén a készülék egy kicsit eltűnik örökre nyírás és a számítás nem, végül megfordult kapcsolatban SHL művelet. de a többi elveszett.
A processzor alkotja a 32 bites regiszterek. Ezeken a regiszterek csak helyet találni 32 bites szám, vagy 4 byte. Ha a szám nagyobb, akkor terjed nyilvántartásokban. Természetesen vannak jó kiegészítő regiszterek (társprocesszorokat. Raktak 80 bites számok). de mértéke jóval alacsonyabb, mint a fő nyilvántartások és tökéletesen működnek egy másik elv. Azonban, ha dolgozik tört számok, kiszámítjuk a gyökerek és a makrók nagyon kényelmes és praktikus.
Ahogy talán már érthető a 32-bites szám:
00000000 00000000 00000000 00000000
Mint látható, számos néggyel osztható bájt vagy 32 bit. Minden byte 8 bit. A rendszer segítségével a különböző makrók, tudjuk, hogy hozzáférjen az egyes bites szám, valamint csak egy junior és senior fele (16 bit) és az alsó és felső fele negyede ezt a számot (8 bit). Csak azért, hogy az érték az alsó bájt (rózsaszín), és egy makro LoByte.
Mint látható az eredménye 255. Hogy ez a szám megegyezik a bináris a low byte 11111111
A felső bájt (kék) van egy makró hibyte. Ez ugyanúgy működik, csak kap egy bájtos szám.
Az eredmény 15 és egyértelmű, hogy miért, nem igaz?
LoWord és Hiword
A fiatalabb és az idősebb fele annyi használt makrókat és LoWord Hiword volt. Ezek a makrók már használják a cikket a konzolt.
Eredmény: 65535 és 65280
Az értékek tetszőleges számú bit használható BIT makró. A szintaxis a következő:
BIT (a szám. Bit szám szám)
Gróf megy 0-31 bit. Ha a bit az 1-es szám, akkor a visszatérési értéke -1. Ha bit 0 ennek a számnak a visszatérési érték 0.
A vörös fény jelzi, hogy mely bitek által meghatározott funkciót.
Példa (meghatározása elérhető meghajtók a rendszerben):
Persze, van egy kis előre az API függvény (GetLogicalDrives). de meg akartam mutatni a gyakorlati alkalmazása a makrót. Valójában a függvény egy kicsit maszkot álló lemezeken a rendszerben:
A 0 bit megfelel
1 bit megfelel a B
2. bit megfelel a C
3. megfelel a bit D
Bit 4 megfelel E
és így tovább.
Macro bit szerint töltés bit. CHR funkció, egyszerűen abból a kívánt betűt, amelyek megfelelnek ezeknek a meghajtók.
BitSet és BitReSet
Beállításához egyes bit értékeket 1 vagy 0 lehet használni, és BitSet BitReSet makrók rendre. Visszatérési értéke - a konvertált beütések számát bit beállítást.
értéke = BitSet (a számot. Bit száma a szám)
értéke = BitReSet (a számot. Bit száma a szám)
Amikor a Windows API függvények akkor gyakran foglalkozik egyedi bájt és bitek számát. Ha valami nem világos ebben a cikkben igyekszünk elolvasni és megérteni újra. Ha majd nehezen megértést. akkor kérje a fórumon