int,long,long long型別的數值範圍

2021-07-15 03:21:31 字數 1366 閱讀 9333

概念、整型:表示整數、字元和布林值的算術型別合稱為整型(integral type)。

關於帶符號與無符號型別:整型 int、stort  和  long 都預設為帶符號型。要獲得無符號型則必須制定該型別為unsigned,比如unsigned long。unsigned int型別可以簡寫為unsigned,也就是說,unsigned後不加其他型別說明符就意味著是unsigned int。

一位元組表示八位,即:1byte = 8 bit;

int: 4byte =  32 bit有符號signed範圍:2^31-1 ~ -2^31即:2147483647 ~ -2147483648無符號unsigned範圍:2^32-1 ~ 0即:4294967295 ~ 0

long: 4 byte = 32 bit同int型

double: 8 byte = 64 bit範圍:1.79769e+308 ~ 2.22507e-308

long double: 12 byte = 96 bit範圍: 1.18973e+4932 ~ 3.3621e-4932

float: 4 byte = 32 bit範圍: 3.40282e+038 ~ 1.17549e-038

long long的最大值:9223372036854775807(>10^18)

long long的最小值:-9223372036854775808

unsigned long long的最大值:18446744073709551615

__int64的最大值:9223372036854775807

__int64的最小值:-9223372036854775808

unsigned __int64的最大值:18446744073709551615

int、unsigned、long、unsigned long 、double的數量級最大都只能表示為10億,即它們表示十進位制的位數不超過10個,即可以儲存所有9位整數。而short只是能表示5位;

另外對於浮點說而言:使用double型別基本上不會有錯。在float型別中隱式的精度損失是不能忽視的,二雙精度計算的代價相對於單精度可以忽略。事實上,在有些機器上,double型別比float型別的計算要快得多。float型只能保證6位有效數字,而double型至少可以保證15位有效數字(小數點後的數字),long double型提供的精度通常沒有必要,而且還要承擔額外的執行代價。

double是8位元組共64位,其中小數字佔52位,2-^52=2.2204460492503130808472633361816e-16,量級為10^-16,故能夠保證2^-15的所有精度。

在有些機器上,用long型別進行計算所付出的執行時代價遠遠高於用int型別進行同樣計算的代價,所以算則型別前要先了解程式的細節並且比較long型別與int型別的實際執行時效能代價。

int,long,long long的範圍及使用

unsigned int 0 4294967295 int 2147483648 2147483647 10位 unsigned long 0 4294967295 long 2147483648 2147483647 long long的最大值 9223372036854775807 19位 lo...

python的數值型別 Python的數值型別

標籤 如何 問題 1.python數值有哪些?2.各型別的精度是多少?3.型別的轉換是如何實現的?5.如何使用這些資料型別?需要注意什麼?6.什麼是不可變型別?數值型別 整型 不可變型別 標準整型 取值範圍 sys.maxint 1,sys.maxint 長整型 可表示無限大的整數,其值僅與你機器支...

mysql 的數值型別

double m,d unsigned zerofill 普通大小 雙精度 浮點數。m是小數總位數,d是小數點後面的位數。如果m和d被省略,根據硬體允許的限制來儲存值。雙精度浮點數精確到大約15位小數。如果指定unsigned,不允許負值。float m,d unsigned zerofill 小 ...