欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言詳細(xì)圖解浮點型數(shù)據(jù)的存儲實現(xiàn)

 更新時間:2022年05月06日 15:07:35   作者:利刃Cc  
使用編程語言進(jìn)行編程時,需要用到各種變量來存儲各種信息。變量保留的是它所存儲的值的內(nèi)存位置。這意味著,當(dāng)您創(chuàng)建一個變量時,就會在內(nèi)存中保留一些空間。您可能需要存儲各種數(shù)據(jù)類型的信息,操作系統(tǒng)會根據(jù)變量的數(shù)據(jù)類型,來分配內(nèi)存和決定在保留內(nèi)存中存儲什么

在引入知識之前,先來看一個案例,就知道了解浮點型數(shù)據(jù)存儲的重要性與必要性。

舉個例子:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int num = 9;
	float *pnum = (float *)&num;//強(qiáng)制轉(zhuǎn)換類型
	printf("n的值為:%d\n",n);
	printf("*pFloat的值為:%f\n",*pnum);
	*pnum = 9.0;
	printf("num的值為:%d\n",n);
	printf("*pFloat的值為:%f\n",*pnum);
	return 0;
}

一般情況下我們都會認(rèn)為*pnum打印的就是n的值,只不過是以浮點型打印出來,所以是9.000000啊,然后下面的n又因為*pnum的修改,加之因為%d輸出,所以還是9啊,但是結(jié)果不是,打印出來的結(jié)果如下圖所示:

結(jié)果與我們想的有很大的偏差。。。。。那就有必要讓我們來了解浮點型數(shù)據(jù)的存儲啦!

1.首先,根據(jù)上面的實例,我們可以發(fā)現(xiàn)整型和浮點型數(shù)據(jù)的存儲方法是不一樣的!

2.那么浮點型數(shù)據(jù)是怎么存儲的呢?

(1)根據(jù)國際標(biāo)準(zhǔn)IEEE(電子和電子工程協(xié)會)754,任意一個二進(jìn)制浮點數(shù)V可以表示為下面的形式:

## (-1)^S * M * 2^E

## (-1)^S 表示符號位,當(dāng)S=0時,V為正數(shù);當(dāng)S=1時,V為負(fù)數(shù)。

## M 表示有效數(shù)字,且1<=M<2

## 2^E表示指數(shù)位

舉例來說:十進(jìn)制的 5.0,寫成二進(jìn)制是 101.0,相當(dāng)于 1.01 *2^2 。那么,按照上面的V的格式,可以得出S=0,M=1.01,E=2。

十進(jìn)制的 -5.0,寫成二進(jìn)制是 -101.0 ,相當(dāng)于 -1.01 * 2^2 。那么,S=1,M=1.01,E=2。

IEEE 754規(guī)定對于任意一個浮點數(shù)V都可以表示成V=(-1)^s * M *2^E,那我們是不是只要知道S、M、E三個值就可以確定一個浮點數(shù)?事實上,c語言內(nèi)存存儲浮點數(shù)時,也確實是只存儲S、和指數(shù)E有關(guān)的一個值、和M有關(guān)的一個值(注意,這里不是直接存E、M) 詳情如下:

相對應(yīng)的float型是32位的,它的存儲空間如下:

相對應(yīng)的double型是64位的,它的存儲空間如下:

對于M與E的特別規(guī)定:

E的使用:

所以我們再對剛才的代碼加以解釋:

1.首先我們先把n的補(bǔ)碼寫出來,因為n是正數(shù),所以它的原反補(bǔ)相同。

2.按照上面的方法,把n的補(bǔ)碼分解后發(fā)現(xiàn)它的E為全0,所以相當(dāng)于一個無窮小的數(shù)字,所以此時*p為0.000000……

3.將*p改成9.0后按照上面的方法,先改成二進(jìn)制 1001.1,然后寫成 (-1)^0 * 1.001 * 2^3,最后按照格式變成補(bǔ)碼,存到內(nèi)存中去,此時補(bǔ)碼為01000001000100000000000000000000,而n為整型數(shù)據(jù),所以先取出這個補(bǔ)碼,又因為其為正數(shù),所以直接將補(bǔ)碼轉(zhuǎn)為十進(jìn)制%d輸出:

結(jié)果與我們之前執(zhí)行的結(jié)果一致!

浮點型數(shù)據(jù)存儲是很重要的知識點,它也加強(qiáng)了我們對數(shù)據(jù)存儲的了解!

到此這篇關(guān)于C語言詳細(xì)圖解浮點型數(shù)據(jù)的存儲實現(xiàn)的文章就介紹到這了,更多相關(guān)C語言數(shù)據(jù)存儲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解C++中mutable的用法

    詳解C++中mutable的用法

    這篇文章主要介紹了詳解C++中mutable的用法,幫助大家更好的理解和學(xué)習(xí)C++,感興趣的朋友可以了解下
    2020-08-08
  • c語言經(jīng)典習(xí)題之逆序字符串詳解

    c語言經(jīng)典習(xí)題之逆序字符串詳解

    這篇文章主要為大家介紹了c語言習(xí)題之逆序字符串,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 基于C語言實現(xiàn)關(guān)機(jī)小游戲的示例代碼

    基于C語言實現(xiàn)關(guān)機(jī)小游戲的示例代碼

    關(guān)機(jī)會寫吧!猜數(shù)字會寫吧!本文將結(jié)合這兩個功能,用C語言編寫一個關(guān)機(jī)惡搞小游戲(最好的朋友轉(zhuǎn)瞬即逝),只要猜對了,1分鐘后執(zhí)行關(guān)機(jī),除非輸入“我是豬”,但是輸完后,1分鐘后還是會執(zhí)行關(guān)機(jī),該保存保存,感興趣的可以嘗試一下
    2022-07-07
  • ubuntu 下編譯C++代碼出現(xiàn)的問題解決

    ubuntu 下編譯C++代碼出現(xiàn)的問題解決

    這篇文章主要介紹了ubuntu 下編譯C++代碼出現(xiàn)的問題解決的相關(guān)資料,需要的朋友可以參考下
    2015-03-03
  • 在C語言中比較兩個字符串是否相等的方法

    在C語言中比較兩個字符串是否相等的方法

    這篇文章主要介紹了在C語言中比較兩個字符串是否相等的方法,分別介紹了strcmp()函數(shù)和strcasecmp()函數(shù),注意功能區(qū)分,需要的朋友可以參考下
    2015-08-08
  • C++中的Qt?QTableView詳解

    C++中的Qt?QTableView詳解

    這篇文章主要介紹了Qt?QTableView詳解,主要包括常用接口,設(shè)置item屬性,右鍵彈出菜單,結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C語言for循環(huán)嵌套for循環(huán)在實踐題目中應(yīng)用詳解

    C語言for循環(huán)嵌套for循環(huán)在實踐題目中應(yīng)用詳解

    初學(xué)C語言,常常遇到for循環(huán)中嵌套個for循環(huán),初學(xué)者對于這種形式總是一知半解,這次我就整理了常見的for循環(huán)嵌套for循環(huán)的題目,我們一起爭取一舉拿下這類題。學(xué)廢他們,以后再見到就不怕啦!每天都要學(xué)一點呀。加油,奮斗的我們
    2022-05-05
  • Qt圖形圖像開發(fā)之Qt曲線圖美化QChart QScatterSeries 空心點陣圖,鼠標(biāo)移動到上面顯示數(shù)值,鼠標(biāo)移開數(shù)值消失效果實例

    Qt圖形圖像開發(fā)之Qt曲線圖美化QChart QScatterSeries 空心點陣圖,鼠標(biāo)移動到上面顯示數(shù)值,鼠標(biāo)移開

    這篇文章主要介紹了Qt圖形圖像開發(fā)之Qt曲線圖美化QChart QScatterSeries 空心點陣圖,鼠標(biāo)移動到上面顯示數(shù)值,鼠標(biāo)移開數(shù)值消失效果實例,需要的朋友可以參考下
    2020-03-03
  • C語言實現(xiàn)將字符和數(shù)字串到一起

    C語言實現(xiàn)將字符和數(shù)字串到一起

    今天小編就為大家分享一篇C語言實現(xiàn)將字符和數(shù)字串到一起,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言順序查找算法介紹及示例

    C語言順序查找算法介紹及示例

    順序查找又稱線性查找,主要用于在線性表中進(jìn)行查找。順序查找通常分為對一般的無序線性表的順序查找和對按關(guān)鍵字有序的順序表的順序查找,下面我們來一探究竟
    2022-08-08

最新評論