一、位、字節(jié)和字
術(shù)語位、字節(jié)和字用于描述計(jì)算機(jī)數(shù)據(jù)單位或計(jì)算機(jī)存儲(chǔ)單位。這里主要指存儲(chǔ)單位。
最小的存儲(chǔ)單位稱為位(bit)。它可以容納兩個(gè)值(0或1)之一(或者可以稱該位被置為“關(guān)”或“開”),不能在一個(gè)位中存儲(chǔ)更多的信息,但是計(jì)算機(jī)中包含數(shù)量極其眾多的位。位是計(jì)算機(jī)存儲(chǔ)的基本單位。
字節(jié)(byte)是常用的計(jì)算機(jī)存儲(chǔ)單位。幾乎對于所有的機(jī)器,1個(gè)字節(jié)均為8位。這是字節(jié)的標(biāo)準(zhǔn)定義,至少在衡量存儲(chǔ)單位時(shí)是這樣(C語言中對此有不同的定義)。由于每個(gè)位或者是0或者是1,所以一個(gè)8位的字節(jié)包含256(2的8次方)種可能的0、1組合。這些組合可用于表示0到255的整數(shù)或者一組字符。這種表示可以通過二進(jìn)制編碼(僅使用0或1方便地表示數(shù)字)來實(shí)現(xiàn)。
對于一種給定的計(jì)算機(jī)設(shè)計(jì),字(word)是自然的存儲(chǔ)單位。對于8位微機(jī),比如原始的Apple機(jī),一個(gè)字正好有8位。使用80286處理器的早期IBM兼容機(jī)是16位機(jī),這意味著一個(gè)字的大小為16位?;赑entium的PC機(jī)和Macintosh PowerPC中的字是32位。現(xiàn)在普遍的計(jì)算機(jī)是64位,但更強(qiáng)大的計(jì)算機(jī)還可以有更長位數(shù)的字。
二、整數(shù)類型與浮點(diǎn)數(shù)類型
對于人,整數(shù)和浮點(diǎn)數(shù)的區(qū)別在于它們的書寫。對于計(jì)算機(jī),區(qū)別在于它們的存儲(chǔ)方式。下面分別對它們進(jìn)行介紹。
1、整數(shù)
整數(shù)(integer)就是沒有小數(shù)部分的數(shù)。在C中,小數(shù)點(diǎn)永遠(yuǎn)不會(huì)出現(xiàn)在整數(shù)的書寫中。例如1、-23和4561都是整數(shù)。數(shù)3.14、0.77和8.000都不是整數(shù)。整數(shù)以二進(jìn)制數(shù)字存儲(chǔ)。例如整數(shù)9的二進(jìn)制表示為1001,在8位的字節(jié)中存儲(chǔ)它需要將前4位置0,后4位為1001,即00001001。
2、浮點(diǎn)數(shù)
浮點(diǎn)數(shù)(floating-point)差不多可以和數(shù)學(xué)中的實(shí)數(shù)(real number)概念相對應(yīng)。實(shí)數(shù)包含了整數(shù)之間的那些數(shù)。1.75、2.16E7、3.00和4e-8都是浮點(diǎn)數(shù)。注意,加了小數(shù)點(diǎn)的數(shù)是浮點(diǎn)型值,所以3是整數(shù)類型,而3.00是浮點(diǎn)型。書寫浮點(diǎn)數(shù)有多種形式。2.16E7表示2.16乘以10的7次方(即1后面帶有7個(gè)0),7稱為10的指數(shù)。
這里最重要的一點(diǎn)是浮點(diǎn)數(shù)與整數(shù)的存儲(chǔ)方案不同。浮點(diǎn)數(shù)表示法將一個(gè)數(shù)分為小數(shù)部分和指數(shù)部分并分別存儲(chǔ)。因此盡管7.00和整數(shù)7有相同的值,但它們的存儲(chǔ)方式不同。與機(jī)器中的二進(jìn)制存儲(chǔ)方式相似,在十進(jìn)制中5.0可表示為0.5E1,這里的0.5是小數(shù)部分,1是指數(shù)部分。當(dāng)然,計(jì)算機(jī)的內(nèi)部存儲(chǔ)使用二進(jìn)制數(shù)字,它使用2的冪而非10的冪。
這里我們先只關(guān)注這兩種類型在應(yīng)用中的區(qū)別:
①整數(shù)沒有小數(shù)部分;浮點(diǎn)數(shù)可以有小數(shù)部分
②浮點(diǎn)數(shù)可以表示比整數(shù)范圍大得多的數(shù)
③對于一些算術(shù)運(yùn)算(例如兩個(gè)很大的數(shù)相減),使用浮點(diǎn)數(shù)會(huì)損失更多的精度
④因?yàn)樵谌魏螀^(qū)間內(nèi)(比如1.0和2.0之間)都存在無窮多個(gè)實(shí)數(shù),所以計(jì)算機(jī)浮點(diǎn)數(shù)不能表示區(qū)域內(nèi)所有的值。浮點(diǎn)數(shù)往往只是實(shí)際值的近似。例如,7.0可能以浮點(diǎn)值6.99999存儲(chǔ)。
⑤浮點(diǎn)運(yùn)算通常比整數(shù)運(yùn)算慢。不過,已經(jīng)開發(fā)出了專門處理浮點(diǎn)運(yùn)算的微處理器,它可以縮小速度上的差別。
審核編輯:湯梓紅
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7292瀏覽量
87520 -
微處理器
+關(guān)注
關(guān)注
11文章
2231瀏覽量
82203 -
C語言
+關(guān)注
關(guān)注
180文章
7581瀏覽量
135568 -
浮點(diǎn)數(shù)
+關(guān)注
關(guān)注
0文章
59瀏覽量
15845
原文標(biāo)題:C語言中位、字節(jié)和字以及整數(shù)類型與浮點(diǎn)數(shù)類型的比較
文章出處:【微信號:雨飛工作室,微信公眾號:雨飛工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論