32位浮點(diǎn)數,組成格式是S:符號位,位長(cháng)1。
0表示正數,1表示負數。M:尾數,位長(cháng)23,小數點(diǎn)在最前面E:階符,為了增加表示范圍,這里采用移碼方式,E=e+127(01111111B) 一個(gè)規格化的32位浮點(diǎn)數x的真值可表示為:x=(-1)s*(1.M)*2E-127 e=E-127 1、首先判斷符號位S,s=02、要轉換2.0,2.0(d) = 10.0000(b) //有關(guān)10進(jìn)制小數轉化為2進(jìn)制的方法,可去網(wǎng)上搜一下。
3、然后將小數轉為1.M*2^(E-127)形式10.0000(b) = 1.00000*2^1 = 1.M*2^(E-127) //4、由此M=0H=000000H //(M有效位是24位,2進(jìn)制的話(huà)就是全是0)5、E-127=1 ==> E = 127(d) + 1(d) = 01111111(b) + 00000001(b) = 10000000(b) = 80H 基本過(guò)程就是這么算的,題目中2.0換算比較簡(jiǎn)單,如果換成2.1234,只要在第2步掌握10進(jìn)制小數轉化為2進(jìn)制的方法就可以了。
浮點(diǎn)數是屬于有理數中某特定子集的數的數字表示,在計算機中用以近似表示任意某個(gè)實(shí)數。
具體的說(shuō),這個(gè)實(shí)數由一個(gè)整數或定點(diǎn)數(即尾數)乘以某個(gè)基數(計算機中通常是2)的整數次冪得到,這種表示方法類(lèi)似于基數為10的科學(xué)記數法。 浮點(diǎn)計算是指浮點(diǎn)數參與的運算,這種運算通常伴隨著(zhù)因為無(wú)法精確表示而進(jìn)行的近似或舍入。
一個(gè)浮點(diǎn)數a由兩個(gè)數m和e來(lái)表示:a = m * be。在任意一個(gè)這樣的系統中,我們選擇一個(gè)基數b(記數系統的基)和精度p(即使用多少位來(lái)存儲)。
m(即尾數)是形如±d.ddd。ddd的p位數(每一位是一個(gè)介于0到b-1之間的整數,包括0和b-1)。
如果m的第一位是非0整數,m稱(chēng)作規格化的。有一些描述使用一個(gè)單獨的符號位(s 代表+或者-)來(lái)表示正負,這樣m必須是正的。
e是指數。 這種設計可以在某個(gè)固定長(cháng)度的存儲空間內表示定點(diǎn)數無(wú)法表示的更大范圍的數。
例如,一個(gè)指數范圍為±4的4位十進(jìn)制浮點(diǎn)數可以用來(lái)表示43210,4.321或0.0004321,但是沒(méi)有足夠的精度來(lái)表示432.123和43212.3(必須近似為432.1和43210)。當然,實(shí)際使用的位數通常遠大于4。
此外,浮點(diǎn)數表示法通常還包括一些特別的數值:+∞和?∞(正負無(wú)窮大)以及NaN('Not a Number')。無(wú)窮大用于數太大而無(wú)法表示的時(shí)候,NaN則指示非法操作或者無(wú)法定義的結果。
大部份計算機采用二進(jìn)制(b=2)的表示方法。位(bit)是衡量浮點(diǎn)數所需存儲空間的單位,通常為32位或64位,分別被叫作單精度和雙精度。
有一些計算機提供更大的浮點(diǎn)數,例如英特爾公司的浮點(diǎn)運算單元Intel8087協(xié)處理器(以及其被集成進(jìn)x86處理器中的后代產(chǎn)品)提供80位長(cháng)的浮點(diǎn)數,用于存儲浮點(diǎn)運算的中間結果。還有一些系統提供128位的浮點(diǎn)數(通常用軟件實(shí)現)。
浮點(diǎn)數實(shí)際上就是使用科學(xué)記數法來(lái)表示數字。
科學(xué)記數法就是將一個(gè)數字表示為一個(gè)1到10之間的小數*10的n次方,比如-3294728可以表示為-3.294728*10^6,這里^代表次方,也就是冪運算。
上面的字母僅僅是個(gè)示意,你隨便換成誰(shuí)都可以,只要你自己懂了就行了~
接著(zhù)說(shuō)浮點(diǎn)數。計算機里面浮點(diǎn)數就是四個(gè)部分:數符——小數的符號,就像我舉的例子里面的-號;尾數就是3.294728;階符就是指數的符號,我舉的例子里面因為是正6所以階符是+;階碼就是冪的數字6。精度決定了你這個(gè)數字能精確到多少位,如果精度低那就只有3*10^6,精度高一點(diǎn)3.295*10^6,等等。
關(guān)于編程方面的數學(xué),其實(shí)和普通的數學(xué)差不多,這些底層的東西,如果你不是主業(yè)為編程,使用的又是高級一點(diǎn)的語(yǔ)言的話(huà)可以暫時(shí)不用理解這些東西,編程的時(shí)候算法才是靈魂。
如果你主修的是計算機科學(xué)得話(huà)學(xué)校會(huì )開(kāi)課的,如果是業(yè)余愛(ài)好得話(huà)就把高中初中老師教的東西學(xué)好就成了
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:4.373秒