囊括基本型別大小及範圍
轉載自: https://blog.csdn.net/love_x_you/article/details/42846993
一、基本型別的大小及範圍的總結(以下所講都是預設在32位作業系統下):
位元組: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都預設為有符號型,其中long和int都佔4個位元組的空間大小,他們有什麼區別呢?
16位作業系統:long:4位元組,int:2位元組
32位作業系統:long:4位元組,int:4位元組
64位作業系統:long:8位元組,int:4位元組
int型在不同位數作業系統中所佔用的位元組數不同,如果想編寫可移植性好的程 序,早年流行16位和32位作業系統時最好用long修飾int型,現在流行32位和64 位作業系統,用int就挺多了。當然這些都看你怎麼去理解它了,畢竟它們在不 同作業系統所佔位元組數不固定,所以各自都有其適用之處,不可定論其好壞。 下面是對它們的有科學依據的規定:
C語言規定:無論什麼平臺都要保證long型佔用位元組數不小於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);//注意:浮點數在記憶體中都是按科學計數法來儲存的,浮點數的精度是由尾數的位數決定的,大家記住即可不 必深究;
7.雙精度double:所佔記憶體大小:8byte=32bit;
所能表示的範圍:(2.22507e-308)~(1.79769e+308);
注:如何區分和使用這兩個浮點型別呢,首先float和double的精度不同,float保留到小數點後面7位,而double保留到小數點後面16位,float能保證6位有效數字,而double能保證15位有效數字,如果在不追求精度的的情況下當然用float比較好,節省記憶體,如果需要很高的精度的情況下,最好還是用double,平時我們定義浮點型變數一般都用double,畢竟精度高,一般精度的損失是不能忽略的。
8.字串string:由於string在c++中屬於類型別,不是基本資料型別,類不能計算其在記憶體中所佔大小,非要用sizeof(string)來算的話,一般算出來的結果是 sizeof(string)=4byte, 如果string字串內容很多,很明顯就不是其真實大小,string類裡面有計算其位元組大小的函式如:size(),length()。
相關推薦
囊括基本型別大小及範圍
轉載自: https://blog.csdn.net/love_x_you/article/details/42846993一、基本型別的大小及範圍的總結(以下所講都是預設在32位作業系統下):位元組:byte;位:bit。1.短整型short:所佔記憶體大小:2byte=1
基本資料型別大小和範圍
基本資料型別 遵循3個規則: 1.不同的機型只是int型別在變 2.int至少和short一樣長 3.long至少和int一樣長 notes:long是long int的縮寫 short 短整型 long 長整型 2的冪表 no
java最基本的四個資料型別大小和範圍
byte b;//指定變數b為byte型別(最小值-128 最大值127) 1個位元組 一個常量,儲存 byte 型別可取的最大值,即 27-1。(127) 一個常量,儲存 byte 型別可取的
Python基本型別補充及深淺拷貝
1. 基礎資料型別補充 join() "*".join("馬虎疼") # 馬*虎*疼 把傳遞進去的引數進行迭
java基本型別(數值範圍):浮點的底層表示定義,float計算快一些
Java八種基本型別: 六種數字型別(四個整數型,兩個浮點型), 一種字元型別, 一種布林型。 具體如下 1、整數:包括int,short,byte,long 2、浮點型:float,d
JAVA基本型別取值範圍
最近使用Netty與C++程式進行TCP/IP通訊,遇到一個解包和封包的問題。其中涉及到JAVA與C++資料型別的對應關係。於是蜻蜓點水的看了一個文章,感覺挺具體的於是直接轉過來 基本型別,或者叫做內建型別,是JAVA中不同於類的特殊型別。它們是我們程式設計中使用最頻繁的型
Linux基本資料型別大小——int,char,long int,long long int(/usr/include/limit.h檔案對Linux下資料型別的限制及儲存位元組大小的說明)
/* We don't have #include_next. Define ANSI <limits.h> for standard 32-bit words. */ /* These assume 8-bit 'char's, 16-bit 'short int's, an
C語言基本資料型別對應位元組大小及printf函式輸出格式
補充說明:4位元組:int(%d),unsigned=unsigned int(%u),long=long int(%ld),unsigned long(%lu),float(%f)8位元組:double(%lf),unsigned long long(%llu),long
typeof()用法及JS基本型別
一,typeof方法用法 typeof 返回的是字串,有六種可能:"number"、"string"、"boolean"、"object"、"function"、"undefined" 事例:常用來判斷 // 1.校驗註冊時間 sRegDate = getItemValu
基本數據類型大小和範圍
font notes nbsp 分享 mil not alt 基本數據 note 基本數據類型 遵循3個規則: 1.不同的機型只是int類型在變 2.int至少和short一樣長 3.long至少和int一樣長 notes:long是long in
判斷照片大小 及型別
//判斷照片大小 function getPhotoSize(obj){ photoExt=obj.value.substr(obj.value.lastIndexOf(“.”)).toLowerCase();//獲得檔案字尾名 if(photoExt!=’.jpg’){ alert
MySQL資料型別及範圍用法一覽表
一、MySQL的資料型別 主要包括五大類: 整數型別:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT 浮點數型別:FLOAT、DOUBLE、DECIMAL 字串型別:CHAR、VARCHAR、TINY TE
python基本型別及資料結構
基本型別的定義,和java不一樣,不用事先定義變數型別,只需定義變數名 //java int a=99; #python a=99,b="678",c=True 基本資料結構,與基本型別一樣,只需定義變數名,會自動識別 #list listTemp=[] #m
Scala入門到精通—— 第二節Scala基本型別及操作、程式控制結構
本節主要內容 Scala基本型別 基本型別操作 Scala程式控制結構 Scala基本型別 Scala中的基本資料型別如下圖: (來源:Programming in Scala) 從上表中可以看出,Scala的基本資料型別與Java中的基本
mysql 各資料型別的 大小及長度
數字型 型別 大小 範圍(有符號) 範圍(無符號) 用途 TINYINT 1 位元組 (-128,127) (0,255) 小整
mysql基本資料型別簡介及舉例應用
一、數值型別整型可以指定是有符號的和無符號的,預設是有符號的。可以通過UNSIGNED來說明某個欄位是無符號的。我們看一下tinyint的用法:因為-129越界,所以插入失敗。我們再看一下無符號整型:越界:這裡我們看一個引數sql_mode,對它進行設定,我們就可以得到-1這
C語言的資料型別及範圍
資料型別 序號 型別與描述 1 基本型別:它們是算術型別,包括兩種型別:整數型別和浮點型別。 2 列舉型別:它們也是算術型別,被用來定義在程式中只能賦予其一定的離散整數值的變數。 3 void 型別:型別說明
java基礎——基本資料型別大小
學習了下大神的總結:https://www.cnblogs.com/TTTTT/p/6541270.html以下記錄了下自己想學習的部分!Java語言提供了八種基本型別。六種數字型別(四個整數型(預設是int 型),兩個浮點型(預設是double 型)),一種字元型別,還有一
Java基本資料型別取值範圍,為什麼String 不是基本資料型別,char的取值範圍為什麼沒有負數
一、在JAVA中一共有八種基本資料型別,他們分別是 byte、short、int、long、float、double、char、boolean 整型 其中byte、short、int、long都是表示整數的,只不過他們的取值範圍不一樣 byte的取
Dev-C++下基本型別所佔位數和取值範圍:
符號屬性 長度屬性 基本型 所佔位數 取值範圍 輸入符舉例 輸出符舉例 -- -- char 8 -2^7 ~ 2^7-1 %c