|
一直使用float和double類型的變量,但從來還沒有弄懂過這兩種類型在計(jì)算機(jī)中怎么表示的。 首先了解一下十進(jìn)制怎么表示小數(shù): 1.在有限的小數(shù)位數(shù)里是無法表示所有的數(shù)的,例如1/3是無法寫成小數(shù)的,他們是無限循環(huán)小數(shù),還有各種無理數(shù)無線不循環(huán)小數(shù),例如π=3.14159265358979323......, 使用小數(shù)是無法精確的表示所有的數(shù)的。 2.小數(shù)的表述形式上有多種,這里主要介紹一下指數(shù)表現(xiàn)形式例如下面: 0.985 = 0.985 x 100 0.985 = 9.85 x 10-1 0.985 = 0.0985 x 101 二進(jìn)制小數(shù)的表示和十進(jìn)制的表示方法一樣,二進(jìn)制小數(shù)也是無法表示所有的數(shù)的,例如十進(jìn)制的(0.1)是不能表示為有限位的二進(jìn)制小數(shù)的; 二進(jìn)制小數(shù)也是可以表述成指數(shù)的形式的。 計(jì)算機(jī)表示方法,以下是IEEE754標(biāo)準(zhǔn): 1、 IEEE 754 標(biāo)準(zhǔn): IEEE 754 標(biāo)準(zhǔn)成立于1985年,80年代起所有的計(jì)算機(jī)系統(tǒng)均支持IEEE 754 IEEE 754 對浮點(diǎn)數(shù)在計(jì)算機(jī)表示方法有三個主要的規(guī)定: 對于單精度(single precision):單精度浮點(diǎn)數(shù)位長:32位 (1) IEEE 754 標(biāo)準(zhǔn)規(guī)定:第1位為符號位,1 代表負(fù),0代表正 (2) 接下來用8位來表示指數(shù)部分。 (3) 接下來的23位用來表示有效數(shù)位 IEEE 浮點(diǎn)標(biāo)準(zhǔn)表示: V = (-1)s * M * 2E ?、佟 是符號位,為0時表示正,為1時表示負(fù)。 ?、?、M為尾數(shù),是一個二進(jìn)制小數(shù),它的范圍是0至1-ε,或者1至2-ε(ε的值一般是2-k次方,其中設(shè)k > 0) ?、邸為階碼,可正可負(fù),作用是給尾數(shù)加權(quán)。 一般我們主要使用的程序語言中是類型主要有float和double兩種,一種是單精度,一種是雙精度 float是單精度的,采用32位二進(jìn)制表示,其中1位符號位,8位階碼以及23位尾數(shù)。double是雙精度的,采用64位二進(jìn)制表示 例如下圖
|
|
|