国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解

2020-01-26 13:47:29
字體:
來源:轉載
供稿:網(wǎng)友

本文研究的主要問題時關于C和C++中的基本數(shù)據(jù)類型int、long、long long、float、double、char、string的大小及表示范圍,具體介紹如下。

一、基本類型的大小及范圍的總結(以下所講都是默認在32位操作系統(tǒng)下):

字節(jié):byte;位:bit。

1.短整型short:所占內存大小:2byte=16bit;

所能表示范圍:-32768~32767;(即-2^15~2^15-1)

2.整型int:所占內存大小:4byte=32bit;

所能表示范圍:-2147483648~2147483647;(即-2^31~2^31-1)

unsigned: 所占內存大小:4byte=32bit;

所能表示范圍:0~4294967295;(即0~2^32-1)

3.長整型long:所占內存大小:4byte=32bit;

所能表示范圍:-2147483648~2147483647;(即-2^31~2^31-1)

unsigned long: 所占內存大小:4byte=32bit;

所能表示范圍:0~4294967295;(即0~2^32-1)

注:上面所說的全部是有符號型的,short,int,long都默認為有符號型,其中l(wèi)ong和int都占4個字節(jié)的空間大小,他們有什么區(qū)別呢?

16位操作系統(tǒng):long:4字節(jié),int:2字節(jié)

32位操作系統(tǒng):long:4字節(jié),int:4字節(jié)

64位操作系統(tǒng):long:8字節(jié),int:4字節(jié)

int型在不同位數(shù)操作系統(tǒng)中所占用的字節(jié)數(shù)不同,如果想編寫可移植性好的程序,早年流行16位和32位操作系統(tǒng)時最好用long修飾int型,現(xiàn)在流行32位和64位操作系統(tǒng),用int就挺多了。當然這些都看你怎么去理解它了,畢竟它們在不 同操作系統(tǒng)所占字節(jié)數(shù)不固定,所以各自都有其適用之處,不可定論其好壞。

下面是對它們的有科學依據(jù)的規(guī)定:

C語言規(guī)定:無論什么平臺都要保證long型占用字節(jié)數(shù)不小于int型, int型不小于short型。

4.字符型char:所占內存大小:1byte=8bit;

所能表示范圍:不確定!!!!;

unsigned char:所占內存大小:1byte=8bit;

所能表示范圍:0~255;(0~2^8-1)

singned char: 所占內存大小:1byte=8bit;

所能表示范圍:-128~127;(-2^7~2^7-1)

char的默認類型不確定有可能是unsigned,也有可能是signed,主要更具編譯器而定,可以自己測試一下編譯器的默認char的符號類型。

5.布爾類型bool:所占內存大小:1byte=8bit;

所能表示的范圍:只能取兩個值false或者true;所以最小值就是:0, 最大值:1.

6.單精度float: 所占內存大小:4byte=32bit;

所能表示的范圍:(1.17549e-038)~(3.40282e+038);//注意:浮點數(shù)在內存中都是按科學計數(shù)法來存儲的,浮點數(shù)的精度是由尾數(shù)的位數(shù)決定 的,大家記住即可不 必深究;

7.雙精度double:所占內存大小:8byte=32bit;

所能表示的范圍:(2.22507e-308)~(1.79769e+308);

注:如何區(qū)分和使用這兩個浮點類型呢,首先float和double的精度不同,float保留到小數(shù)點后面7位,而double保留到小數(shù)點后面16位,float能保證6位有效數(shù)字,而double能保證15位有效數(shù)字,如果在不追求精度的的情況下當然用 float比較好,節(jié)省內存,如果需要很高的精度的情況下,最好還是用double,平時我們定義浮點型變量一般都用double,畢竟精度高,一般精度的損失是不能忽略的。

8.字符串string:由于string在c++中屬于類類型,不是基本數(shù)據(jù)類型,類不能計算其在內存中所占大小,非要用sizeof(string)來算的話,一般算出來的結果是 sizeof(string)=4byte, 如果string字符串內容很多,很明顯就不是其真實大小,string類里面有計算其字節(jié)大小的函數(shù)如:size(),length()。

總結

以上就是本文關于C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 茂名市| 渭源县| 和田县| 吉林省| 宜城市| 泌阳县| 景德镇市| 蓬溪县| 永春县| 高唐县| 榆树市| 绍兴县| 绥阳县| 崇明县| 长垣县| 曲周县| 肥西县| 会东县| 壶关县| 蒲城县| 井陉县| 云南省| 无锡市| 八宿县| 武城县| 渝北区| 凌源市| 锦屏县| 深泽县| 上犹县| 弥渡县| 东山县| 龙山县| 南木林县| 三河市| 昆山市| 花垣县| 青海省| 桂东县| 安国市| 封丘县|