精品理论电影在线_日韩视频一区二区_一本色道精品久久一区二区三区_香蕉综合视频

2011年計算機二級C語言精編教程第二章(3)

發布時間:2011-09-16 共2頁

導讀:通常把一個字節中的最右邊一位稱為最低位,最左邊一位稱為最高位。對于一個有符號整數,其中最高位(最左邊的一位)用來存放整數的符號,稱為符號位。若是正整數,最高位放置0;若是負整數,最高位放置1。

  2.3.4 整數在內存中的存儲形式

  計算機中,內存儲器的最小存儲單位稱為“位(bit)”。由于只能存放0或1,因此稱為二進制位。大多數計算機把8個二進制位組成一個“字節(byte)”,并給每個字節分配一個地址。若干字節組成一個“字(word)”,用一個“字”來存放一條機器指令或一個數據。一個字含多少個字節隨機器的不同而不同。如果一臺計算機以兩個字節(16個二進制位)來存放一條機器指令,則稱此計算機的字長為16位;如果以四個字節(32個二進制位)來存放一條機器指令,則稱此計算機的字長為32位。

  通常把一個字節中的最右邊一位稱為最低位,最左邊一位稱為最高位。對于一個有符號整數,其中最高位(最左邊的一位)用來存放整數的符號,稱為符號位。若是正整數,最高位放置0;若是負整數,最高位放置1。

  一、正整數

  當用兩個字節存放一個short類型正整數時,例如正整數5,其在內存中的二進制碼為:

  0000000000000101

  對于正整數的這種存儲形式稱為用“原碼”形式存放。因此用兩個字節存放short類型的最大正整數是:

  0111111111111111

  它的值為32767。為簡單起見,若一個字節能夠正確表示一個整數時,本書則用一個字節表示。

  二、負整數

  1.負整數在內存中是以“補碼”形式存放的。

  取某個二進制數的補碼,例如10000101(十進制數-5)的補碼,步驟如下:

  (1)求原碼的反碼。把原碼除符號位之外的二進制碼按位取反,即把1變成0,0變成1,即得到該原碼的反碼。例如10000101的反碼為111110100。

  (2)把所得的反碼加1,即得到原碼的補碼。因此11111010加1得11111011,這就是-5在內存中的二進制碼。若用兩個字節表示,即為:

  1111111111111011

  2.把內存中以補碼形式存放的二進制碼轉化成十進制的負整數,步驟如下:

  (1)先對除符號位之外的各位取反。例如有補碼11111010,取反后為10000101。

  (2)將所得二進制數轉換成十進制數。例如,10000101的十進制數為-5。

  (3)對所求得的數再減1,即為-6。

  通過以上分析可知,由兩個字節存放的最小整數是1000000000000000,它對應的十進制數為-32768,而-1在內存中存放的二進制碼為1111111111111111。

  三、無符號整數

  用兩個字節存放一個整數時,若說明為無符號整數,則最高位不再用來存放整數的符號,16個二進制位全部用來存放整數,因此無符號整數不可能是負數。這時,若內存中存放的16個二進制位全部為1,則它所代表的整數就不再是-1,而是65535。

  

百分百考試網 考試寶典

立即免費試用