1. 程式人生 > >1byte、1KB、4KB,1MB、1GB用16進製表示的範圍。任意地址範圍求位元組數

1byte、1KB、4KB,1MB、1GB用16進製表示的範圍。任意地址範圍求位元組數

請先開啟一個線上的2進位制轉16進位制的轉換器,便於理解除錯。

首先 1個位元組=1byte=8Bit。

位元組是計算機資訊科技用於計量儲存容量的一種計量單位,也表示一些計算機程式語言中的資料型別和語言字元。

1KB = 1024byte = 2的10次方 byte,轉化為16進製為0x400。同時換一種說法,1KB可以表示1024個地址,0x400個地址,而且表示地址的範圍是0x00~0x3FF。(記住)

2KB = 2的11次方byte, 轉化為16進製為0x800,表示的地址範圍為0x00~7FF。其中0x400~0x7FF表示的是第二KB的範圍。

4KB = 2的12次方byte,0x1000,表示的地址範圍0x000~0xFFF。(特殊要記住)

1MB = 1024KB = 2的20次方byte,0x100000。

表示的地址範圍為0x00000~0xFFFFF。(特殊要記住)

1GB=2的30次方byte,0x40000000。表示的地址範圍為0x00000~0x3FFFFFFF

那麼對於一個任意給定的地址範圍(必然是1KB的整數倍)怎麼反推位元組數呢?

例如,0x000000~0x1FFFFF。

第一種解法,記住1M是5個F,多一位是2倍,所以是2M。

第二種解法,記住FFF是4KB,1FF是512, 512X4KB=2048KB也就是2M

20180621: 0x3000 表示地址0x0000-0x2FFF  12K