天天看點

C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體

一,記憶體

C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體

1,記憶體的最小機關是“位”(bit),但編址的最小機關為“位元組”(Byte)。

2,邏輯上的存儲可以是多元的,例如多元數組,但實際的存儲都是線性的、一維的。

二,補碼

1,規則

C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體

注:其運算規則是可逆的。

  • 0的補碼為0
  • 符号位同普通位一并參與運算
  • 補碼可以使加減乘除全部變加法

2,char(8位)補碼的展示

C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體

3,資料類型

1,整型

char

short

int

long long

2,浮點型

float

double

long double

3,構造類型

數組

結構體 struct

共用體 union

枚舉類型 enum

指針類型 *

4,空類型 void

4,類型的意義

資料類型提供了“申請記憶體單元大小”和“通路記憶體單元”的規則。資料類型是假設線上性記憶體上的一種邏輯關系!

5,類型轉化

  1. 小轉大:符号擴充

小範圍空間資料,賦給大範圍空間的資料,系統為了保證資料的完整性,采用“符号擴充”的機制——若小範圍空間資料為有符号類型,則擴充符号位;若小範圍資料為無符号類型,則擴充0。

C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體
C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體
C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體

2,大轉小:截斷(Truncate)

大範圍資料轉化為小範圍資料,會發生“截斷”,截斷過程可能會發生資料丢失。

C語言之資料類型---記憶體、補碼、資料轉化!一,記憶體

繼續閱讀