萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

計算機數據存儲基礎:位、字節、字與內存寻址原理解析

1.2.1 位、字節、字的核心概念

計算機內存由成千上萬個雙態電子開關組成:開啟態為「1」,閉合態為「0」。每個開關稱作一個「位(bit)」,是二進制的基本單元。為有序存儲信息,通常將8個位組成一個「字節(byte)」,可存放一個字符(如字母「a」的ASCII碼)。所有字符均有對應的二進制編碼,主流系統採用ASCII(美國標準信息交換碼)建立映射關係。

字節結構示意圖

字符編碼示例

內存由大量有序字節構成,每個字節擁有唯一地址(編號),CPU通過地址讀寫數據。單字節只能存字符,整數或實數需佔用多字節組成「字」(如短整數2字節、實數4字節),一個字可存一個數據或一條指令。

1.2.2 內存單元、地址與指針

內存單元存放數據或指令,其地址為組成單元的首字節地址。例如短整型變量i、j、z各佔2字節,若i地址為5000,則佔用5000、5001;j緊隨其後地址為5002,z為5004。C/C++中用「&i」表示變量地址(指針)。

變量內存分佈圖

直接訪問:通過變量名找到地址,直接讀寫數值。
間接訪問:定義指針變量存放地址(如i_pointer=&i),先取指針值再訪問目標單元。指針變量值可變,故可指向不同變量實現動態訪問。

直接與間接訪問對比

1.2.3 原碼、反碼、補碼表示法

內存中最高位為符號位(0正、1負),其餘位為絕對值。正數三碼相同;負數則不同:

  • 原碼:符號位+絕對值二進制(如-8原碼:10001000)
  • 反碼:符號位不變,其餘位按位取反(-8反碼:11110111)
  • 補碼:反碼+1(-8補碼:11111000)

+8的三碼表示

-8原碼

-8反碼

-8補碼

計算機內部統一使用補碼進行運算,可將減法轉為加法,簡化硬件邏輯電路設計。

copyright © 萬盛學電腦網 all rights reserved