機器字長:計算機能直接處理的二進位制資料的位數,它決定了計算機的運算精度想深入瞭解. 學好組合語言對你幫助非常大.組合語言中的,最基本的資料型別有: (1) byte (2)word (3)double word當然,還有qdword型別(8個位元組)等。這些資料型別由機器架構決定。也就是說:1位元組,2位元組,4位元組,8位元組。每移一位就是2的倍數。C語言的低階的高階語言,實現上是模擬組合語言。char 必須對應 byte , 所以它的型別固定是1個位元組。否則就沒有相應的型別訪問1個位元組的資料。short 也必須對應於 word, 所以它的型別是2個位元組。否則沒有相應的型別訪部2個位元組的資料。至於int 型別:(1)x86架構的機器,基本都是32位。但是初始於真實模式下,它是16位的。(2)16位下,它只能訪問16位的地址空間。(3)所以,16位下,無論是int, long, long long(如果有的話) 都只能訪問16位資料。即word(4)在32位保護模式下,可以一次訪問32位地址空間。那麼,int 對應於double word,long 和long long都只能一次訪問32位資料。long long 模擬訪問64位資料。實際上是隻能訪問32位資料。(5)當x86-64架構,被初始化於long mode中的64位模式下,long 相對應於64位資料。但也要看作業系統和編譯器的支援度。
機器字長:計算機能直接處理的二進位制資料的位數,它決定了計算機的運算精度想深入瞭解. 學好組合語言對你幫助非常大.組合語言中的,最基本的資料型別有: (1) byte (2)word (3)double word當然,還有qdword型別(8個位元組)等。這些資料型別由機器架構決定。也就是說:1位元組,2位元組,4位元組,8位元組。每移一位就是2的倍數。C語言的低階的高階語言,實現上是模擬組合語言。char 必須對應 byte , 所以它的型別固定是1個位元組。否則就沒有相應的型別訪問1個位元組的資料。short 也必須對應於 word, 所以它的型別是2個位元組。否則沒有相應的型別訪部2個位元組的資料。至於int 型別:(1)x86架構的機器,基本都是32位。但是初始於真實模式下,它是16位的。(2)16位下,它只能訪問16位的地址空間。(3)所以,16位下,無論是int, long, long long(如果有的話) 都只能訪問16位資料。即word(4)在32位保護模式下,可以一次訪問32位地址空間。那麼,int 對應於double word,long 和long long都只能一次訪問32位資料。long long 模擬訪問64位資料。實際上是隻能訪問32位資料。(5)當x86-64架構,被初始化於long mode中的64位模式下,long 相對應於64位資料。但也要看作業系統和編譯器的支援度。