Lisätietoja Lohkon Otsikosta
Pyyhkäise näyttääksesi valikon
Ennen kuin voimme siirtyä tarkastelemaan lohkon otsikkoa yksityiskohtaisesti, meidän tulee ensin ymmärtää ero big endian- ja little endian -muotojen välillä.
Little Endian ja Big Endian
Ensiksi meidän täytyy ymmärtää, mitä endian-järjestys tarkoittaa.
Endianness tarkoittaa järjestystä, jossa tavujen (yksi tavu on 8 bittiä) järjestys määritellään suuremmissa tietotyypeissä tietokoneen muistissa.
Big endian -muoto tallentaa merkitsevimmän tavun ensin, mikä vastaa tapaa, jolla ihmiset yleensä lukevat numeroita. Käytetään esimerkkinä desimaalilukua 234567890 ja muunnetaan se heksadesimaali- ja binäärimuotoon käyttäen Pythonia ja tulostetaan tulokset:
123decimal_number = 234567890 print(hex(decimal_number)) print(bin(decimal_number))
Koska tietokoneet tallentavat kokonaislukuja kokonaisina tavuina, ja jokainen 2 heksadesimaalista numeroa vastaa yhtä tavua, tarvitsemme parillisen määrän numeroita. Lukumme heksadesimaaliesitys, 0xDFB38D2, sisältää 7 numeroa, joten meidän täytyy lisätä nolla 0 vasemmalle. Tuloksena saadaan luku 0x0DFB38D2, jossa on nyt 8 heksadesimaalista numeroa (mahtuu tarkalleen 4 tavuun) ja sama arvo.
Vastaavasti binäärilukumme sisältää 28 bittiä, ja jokainen 8 bittiä vastaa 1 tavua, joten tarvitsemme bittien määrän jaolliseksi 8:lla lisäämällä 4 nollaa 0 vasemmalle. Tuloksena saadaan luku 0b00001101111110110011100011010010, jossa on nyt 32 bittiä (mahtuu tarkalleen 4 tavuun) ja sama arvo.
Pythonilla saimme big endian -muodon, jonka saisimme myös manuaalisesti muunnettaessa, ja lukumme näyttää seuraavalta:
0x0DFB38D2heksadesimaalina;0b00001101111110110011100011010010binäärinä.
Tutustutaan alla olevaan taulukkoon ymmärtääksemme big endian -muotoa:
Vastaavasti little endian -muoto tallentaa vähiten merkitsevän tavun ensin, mikä kääntää intuitiivisen järjestyksen:
Kuten näet, lukumme little endian -muodossa näyttää seuraavalta:
-
0xD238FB0Dheksadesimaalimuodossa; -
0b11010010001110001111101100001101binäärimuodossa.
Takaisin lohkon otsikkoon
Yhteenvetona otsikko on tarkalleen 80 tavua sisältäen kuusi tietokenttää, joista jokainen on little endian -muodossa. Tarkastellaan nyt lohkon 645536 otsikkoa:
Koska lohkon otsikko vie tarkalleen 80 tavua, siinä on tarkalleen 160 heksadesimaalimerkkiä (jokainen tavu vastaa kahta heksadesimaalimerkkiä). Esimerkiksi version-kenttä vie 4 tavua, joten siinä on 8 heksadesimaalimerkkiä.
Tässä on yksityiskohtaiset tiedot tästä lohkosta explorerissa:
Kentät on esitetty big endian -muodossa. Tarkastellaan esimerkiksi bits-kenttää ja verrataan sitä sen esitykseen lohkon otsikossa. Sen heksadesimaaliesitys on 0x171007ea big endian -muodossa:
Jos muunnetaan se little endian -muotoon, se näyttää seuraavalta:
Kuten näet, juuri tämä oli lohkon otsikossa.
1. Mihin "endianness" viittaa lohkoketjujen ja tietokonejärjestelmien yhteydessä?
2. Yhdistä lohkon osat niiden määritelmiin.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme