日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

西门子实数类型介绍

發(fā)布時間:2023/12/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 西门子实数类型介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

直到 20 世紀(jì) 80 年代(即在沒有制定 IEEE 754 標(biāo)準(zhǔn)之前),業(yè)界還沒有一個統(tǒng)一的浮點數(shù)標(biāo)準(zhǔn)。相反,很多計算機制造商根據(jù)自己的需要來設(shè)計自己的浮點數(shù)表示規(guī)則,以及浮點數(shù)的執(zhí)行運算細節(jié)。另外,他們常常并不太關(guān)注運算的精確性,而把實現(xiàn)的速度和簡易性看得比數(shù)字的精確性更重要,而這就給代碼的可移植性造成了重大的障礙。

直到 1976 年,Intel 公司打算為其 8086 微處理器引進一種浮點數(shù)協(xié)處理器時,意識到作為芯片設(shè)計者的電子工程師和固體物理學(xué)家也許并不能通過數(shù)值分析來選擇最合理的浮點數(shù)二進制格式。于是,他們邀請加州大學(xué)伯克利分校的 William Kahan 教授(當(dāng)時最優(yōu)秀的數(shù)值分析家)來為 8087 浮點處理器(FPU)設(shè)計浮點數(shù)格式。而這時,William Kahan 教授又找來兩個專家協(xié)助他,于是就有了 KCS 組合(Kahn、Coonan和Stone),并共同完成了 Intel 公司的浮點數(shù)格式設(shè)計。

由于 Intel 公司的 KCS 浮點數(shù)格式完成得如此出色,以致 IEEE(Institute of Electrical and Electronics Engineers,電子電氣工程師協(xié)會)決定采用一個非常接近 KCS 的方案作為 IEEE 的標(biāo)準(zhǔn)浮點格式。于是,IEEE 于 1985 年制訂了二進制浮點運算標(biāo)準(zhǔn) IEEE 754(IEEE Standard for Binary Floating-Point Arithmetic,ANSI/IEEE Std 754-1985),該標(biāo)準(zhǔn)限定指數(shù)的底為 2,并于同年被美國引用為 ANSI 標(biāo)準(zhǔn)。目前,幾乎所有的計算機都支持 IEEE 754 標(biāo)準(zhǔn),它大大地改善了科學(xué)應(yīng)用程序的可移植性。

考慮到 IBM System/370 的影響,IEEE 于 1987 年推出了與底數(shù)無關(guān)的二進制浮點運算標(biāo)準(zhǔn) IEEE 854,并于同年被美國引用為 ANSI 標(biāo)準(zhǔn)。1989 年,國際標(biāo)準(zhǔn)組織 IEC 批準(zhǔn) IEEE 754/854 為國際標(biāo)準(zhǔn) IEC 559:1989。后來經(jīng)修訂后,標(biāo)準(zhǔn)號改為 IEC 60559。現(xiàn)在,幾乎所有的浮點處理器完全或基本支持 IEC 60559。同時,C99 的浮點運算也支持 IEC 60559。

IEEE 浮點數(shù)標(biāo)準(zhǔn)是從邏輯上用三元組{S,E,M}來表示一個數(shù) V 的,即 V=(-1)S×M×2E,如圖1 所示。

圖 1
?

其中:
符號位 s(Sign)決定數(shù)是正數(shù)(s=0)還是負(fù)數(shù)(s=1),而對于數(shù)值 0 的符號位解釋則作為特殊情況處理。

有效數(shù)字位 M(Significand)是二進制小數(shù),它的取值范圍為 1~2-ε,或者為 0~1-ε。它也被稱為尾數(shù)位(Mantissa)、系數(shù)位(Coefficient),甚至還被稱作“小數(shù)”。

指數(shù)位 E(Exponent)是 2 的冪(可能是負(fù)數(shù)),它的作用是對浮點數(shù)加權(quán)。

浮點數(shù)格式是一種數(shù)據(jù)結(jié)構(gòu),它規(guī)定了構(gòu)成浮點數(shù)的各個字段、這些字段的布局及算術(shù)解釋。IEEE 754 浮點數(shù)的數(shù)據(jù)位被劃分為三個段,從而對以上這些值進行編碼。其中,一個單獨的符號位 s 直接編碼符號 s;k 位的指數(shù)段 exp=ek-1…e1e0,編碼指數(shù) E;n 位的小數(shù)段 frac=fn-1…f1f0,編碼有效數(shù)字 M,但是被編碼的值也依賴于指數(shù)域的值是否等于 0。

根據(jù) exp 的值,被編碼的值可以分為如下幾種不同的情況。

1) 格式化值

當(dāng)指數(shù)段 exp 的位模式既不全為 0(即數(shù)值 0),也不全為 1(即單精度數(shù)值為 255,以單精度數(shù)為例, 8 位的指數(shù)為可以表達 0~255 的 255 個指數(shù)值;雙精度數(shù)值為 2047)的時候,就屬于這類情況。如圖 2 所示。


圖 2


我們知道,指數(shù)可以為正數(shù),也可以為負(fù)數(shù)。為了處理負(fù)指數(shù)的情況,實際的指數(shù)值按要求需要加上一個偏置(Bias)值作為保存在指數(shù)段中的值。因此,這種情況下的指數(shù)段被解釋為以偏置形式表示的有符號整數(shù)。即指數(shù)的值為:E=e-Bias

其中,e 是無符號數(shù),其位表示為 ek-1…e1e0,而 Bias 是一個等于 2k-1-1(單精度是 127,雙精度是 1023)的偏置值。由此產(chǎn)生指數(shù)的取值范圍是:單精度為 -126~+127,雙精度為 -1022~+1023。

對小數(shù)段 frac,可解釋為描述小數(shù)值 f,其中 0≤f<1,其二進制表示為 0.fn-1…f1f0,也就是二進制小數(shù)點在最高有效位的左邊。有效數(shù)字定義為 M=1+f。有時候,這種方式也叫作隱含的以 1 開頭的表示法,因為我們可以把 M 看成一個二進制表達式為 1.fn-1fn-2…f0?的數(shù)字。既然我們總是能夠調(diào)整指數(shù) E,使得有效數(shù)字 M 的范圍為 1≤M<2(假設(shè)沒有溢出),那么這種表示方法是一種輕松獲得一個額外精度位的技巧。同時,由于第一位總是等于 1,因此我們就不需要顯式地表示它。拿單精度數(shù)為例,按照上面所介紹的知識,實際上可以用 23 位長的有效數(shù)字來表達 24 位的有效數(shù)字。比如,對單精度數(shù)而言,二進制的 1001.101(即十進制的 9.625)可以表達為 1.001101×23,所以實際保存在有效數(shù)字位中的值為:

00110100000000000000000

即去掉小數(shù)點左側(cè)的 1,并用 0 在右側(cè)補齊。

根據(jù)上面所闡述的規(guī)則,下面以實數(shù) -9.625 為例,來看看如何將其表達為單精度的浮點數(shù)格式。具體轉(zhuǎn)換步驟如下:

1、首先,需要將 -9.625 用二進制浮點數(shù)表達出來,然后變換為相應(yīng)的浮點數(shù)格式。即 -9.625 的二進制為 1001.101,用規(guī)范的浮點數(shù)表達應(yīng)為 1.001101×23。

2、其次,因為 -9.625 是負(fù)數(shù),所以符號段為 1。而這里的指數(shù)為 3,所以指數(shù)段為 3+127=130,即二進制的 10000010。有效數(shù)字省略掉小數(shù)點左側(cè)的 1 之后為 001101,然后在右側(cè)用零補齊。因此所得的最終結(jié)果為:


?

3、最后,我們還可以將浮點數(shù)形式表示為十六進制的數(shù)據(jù),如下所示:


即最終的十六進制結(jié)果為 0xC11A0000。

先將實數(shù)由十進制轉(zhuǎn)換為二進制數(shù)

例?5865.236

整數(shù)部分:5865? =BIN?1 0110 1110 1001

小數(shù)部分:.236? ?=BIN 00111100011010100111111

5865.236=1.0110 1110 1001 ,001111000110101

利用上述工程,使用科學(xué)計數(shù)法記錄

5865.236=1,0110 1110 1001111000110101x212

12+127=139? 二進制表示為10001011,
故指數(shù)部分表示為10001011

小數(shù)部分為科學(xué)計數(shù)法的后23位

即0110 1110 1001111000110101
5865.23=0? ?10001011? ? ??01101110100100111100011

? ? ? ?符號位? ? ? ? 指數(shù)位? ? ? ? ? ? ?小數(shù)位

?

?

?

總結(jié)

以上是生活随笔為你收集整理的西门子实数类型介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。