Day7

今天又想起一個之前面試時被問的問題:

c#中浮點數在計算機中的儲存方式

float 單精度浮點數,數據佔用32bit
double 雙精度浮點數,數據佔用64bit

分配內存時float遵從IEEE R32.24,double遵從R64.53
二者在存儲中分爲3部分:
1.符號位
2.指數位
3.尾數部分
float:1位符號位,8位指數位,23位尾數,即指數範圍爲-127~128,小數部分4bit能精確十進制中1位小數點,所以尾數能精確到小數點後6位。
double:1位符號位,11位指數位,52位尾數
例如:6.25 轉二進制爲110.01,寫成指數表達式爲1.1001xMath.Power(2, 2),指數位爲127 + 2 = 129,即10000001,
尾數爲100 1000 0000 0000 0000 0000,符號位爲0,
即在內存中爲 0 10000001 100 1000 0000 0000 0000 0000

另外今天還複習了一下矩陣的乘法和行列式,發現自己真的是把線性代數忘得一乾二淨。。。
行列式
行列式

矩陣乘法
這裏寫圖片描述

(2月1日修正圖片矩陣乘法,之前將中括號寫成了雙豎線是錯誤的,雙豎線表示的是行列式)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章