計算機儲存格式詳解

2021-09-27 07:26:47 字數 1224 閱讀 3474

定點數不是整數,它代表小數點固定在某一位都可以,但是通常將資料表示成純小數或者純整數。

對於定點數,一般用n+1個位存乙個定點數n,其中多出的一位為正負符號位,一般放在最左邊,小數點要麼放在最左邊是小數,要麼放在右邊是整數,自動忽略掉。

對於小數來說,它的表示範圍為0<=|x|<=1-2^(-n), 為什麼是1-2^(-n)呢?我們設除了標誌位所有位為1,那麼它表示的就是2^(-1)+2^(-2)+...+2^(-n),如果標誌位也為1呢?就是-(2^(-1)+2^(-2)+...+2^(-n)),取絕對值還是2^(-1)+2^(-2)+...+2^(-n),也就是說,它等於1-2^(-n)。

如果是純整數,那麼表示的範圍為0<=|x|<=2^n-1,為什麼是2^n-1呢?2^(n-1)+2^(n-2)+...+2^0=2^n-1。

目前計算機中多採用定點純整數表示,因此將定點數表示的運算簡稱為整數運算。也就是說,定點數現在完完全全表示純整數了,不用考慮別的了。

我們通常這樣表示浮點數:

n=10^e.m n=2^e.m

其中,m是尾數,所謂尾數,就是乙個定點小數,e是比例因子的指數,稱為浮點數的指數,常稱為階碼,用來指明小數點在資料中的位置,決定了浮點數的表示範圍,比例因子的基數2對二進計數制的機器是乙個常數。

按照ieee754標準,在32位浮點數中:

乙個規格化的浮點數x的真值表示為:

x = (-1)^s*(1.m)*2^(e-127)

之所以要減127,是因為指數偏移為8位,然後是移碼的問題需要修正,所以要減。

64位的浮點數中符號位1位,階碼域11位,尾數域52位,指數偏移值1023。

根據ieee754,浮點數還可以表示正負無窮和nan,這體現在指數取最後乙個數,32位指數取255,64位指數取2047,就能達到上述效果。

不必多說了

乙個位元組存放兩個十進位制數字,因為乙個位元組8位,只要4位便能表示出16個數,因此沒關係。可以用bsd編碼或者ascii碼低4位表示。符號位也要佔半個位元組(4位)並放在最低數字位之後,那麼問題來了,它放在**呢?

一般來說,用c表示正號,用d表示負號,並放在末尾,這與其他表示法不同,還有乙個規定是,乙個數必須佔偶數個半位元組,也就是要佔滿位元組,這個很明顯,如果是奇數個半位元組在前面新增0就行了。

要指明乙個壓縮的十進位制字串,需要給出它在主存中的首位址和數字位個數(不含符號位,主要是為了位長方便,自己讀取時要讀取上),位長為0時其值為0,許多機器規定該長度從0~31,更長也沒有關係。

機器碼就是原反補移碼,

計算機儲存詳解

計算機如何實現1 1 操作 變數的概念 大小 bit,byte,kb,mb,gb 理解 a 10的記憶體圖 引用,指向 不同資料占用記憶體空間的大小 給相同的資料型別的資料開闢固有大小的記憶體空間 先上圖 我們看到a 1 佔4個位元組,因為這是計算機給他開闢的固有記憶體大小。首先。舉個例子 a 洲神...

計算機儲存

馮 諾依曼模型 系統在預先編譯的程式的指揮下運轉,系統的執行過程就是按照一定的順序不斷執行程式指令的過程 程式存放在儲存器中 程式是為了實現乙個特定的目標而預先設計的一組可操作的工作步驟,就可以稱為乙個程式。對於計算機系統,程式就是系統可以識別的一組有序的指令。這組指令指揮這計算機系統工作。對於計算...

計算機儲存

計算機 儲存和處理資料 基本單位 位元組 最小單位 位bit 8bit 1位元組 1024位元組 1k 1024k 1m 1024m 1g 1024g 1t 二進位制 逢二進一 01 八進位制 逢八進一 0 7 十進位制 逢十進一 0 9 十六進製制 逢十六進一 0 f 十進位制轉二進位制 十進位制...