`
lovnet
  • 浏览: 6694035 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

C, C++和C#中的数值类型及其宽度

 
阅读更多

型表(C# 参考)

大小

sbyte

-128 127

有符号 8 位整数

byte

0 255

无符号 8 位整数

char

U+0000 U+ffff

16 Unicode 字符

short

-32,768 32,767

有符号 16 位整数

ushort

0 65,535

无符号 16 位整数

int

-2,147,483,648 2,147,483,647

有符号 32 位整数

uint

0 4,294,967,295

无符号 32 位整数

long

-9,223,372,036,854,775,808 9,223,372,036,854,775,807

有符号 64 位整数

ulong

0 18,446,744,073,709,551,615

无符号 64 位整数

如果整数表示的超出了 ulong 的范,将编译错误

浮点型表(C# 参考)

大致范

大小

精度

float

±1.5e−45 ±3.4e38

32位

7

double

±5.0e−324 ±1.7e308

64位

15 16

decimalC# 参考)

decimal 关键字表示 128 位数据型。同浮点型相比,decimal 型具有更高的精度和更小的范使它适合于财务货币计算。decimal 型的大致范和精度如下表所示。

大致范

精度

.NET Framework

decimal

±1.0×10-28 ±7.9×1028

28 29 位有效位

System.Decimal


认值表(C# 参考)

值类

认值

bool

false

byte

0

char

'/0'

decimal

0.0M

double

0.0D

enum

表达式 (E)0 生的,其中 E enum 标识符。

float

0.0F

int

0

long

0L

sbyte

0

short

0

struct

将所有的值类型字段认值并将所有的引用型字段 null 时产生的

uint

0

ulong

0

ushort

0

内置型表(C# 参考)

C#

.NET Framework

bool

System.Boolean

byte

System.Byte

sbyte

System.SByte

char

System.Char

decimal

System.Decimal

double

System.Double

float

System.Single

int

System.Int32

uint

System.UInt32

long

System.Int64

ulong

System.UInt64

object

System.Object

short

System.Int16

ushort

System.UInt16

string

System.String


Storage of Basic TypesC

Sizes of Fundamental Types

Type

Storage

char, unsigned char, signed char

1 byte

short, unsigned short

2 bytes

int, unsigned int

4 bytes

long, unsigned long

4 bytes

float

4 bytes

double

8 bytes

long double

8 bytes

Data Type RangesMS C++

For 32-bit and 64-bit compilers, Microsoft Visual C++ recognizes the types shown in the table below. Note that the following type also have unsigned forms:

  • int (unsigned int)
  • __int8 (unsigned __int8)
  • __int16 (unsigned __int16)
  • __int32 (unsigned __int32)
  • __int64 (unsigned __int64)
  • short (unsigned short)
  • long (unsigned long)
  • long long (unsigned long long)

Type Name

Bytes

Other Names

Range of Values

int

4

signed

–2,147,483,648 to 2,147,483,647

unsigned int

4

unsigned

0 to 4,294,967,295

__int8

1

char

–128 to 127

unsigned __int8

1

unsigned char

0 to 255

__int16

2

short, short int, signed short int

–32,768 to 32,767

unsigned __int16

2

unsigned short, unsigned short int

0 to 65,535

__int32

4

signed, signed int, int

–2,147,483,648 to 2,147,483,647

unsigned __int32

4

unsigned, unsigned int

0 to 4,294,967,295

__int64

8

long long, signed long long

–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

unsigned __int64

8

unsigned long long

0 to 18,446,744,073,709,551,615

bool

1

none

false or true

char

1

none

–128 to 127 by default

0 to 255 when compiled with /J

signed char

1

none

–128 to 127

unsigned char

1

none

0 to 255

short

2

short int, signed short int

–32,768 to 32,767

unsigned short

2

unsigned short int

0 to 65,535

long

4

long int, signed long int

–2,147,483,648 to 2,147,483,647

unsigned long

4

unsigned long int

0 to 4,294,967,295

long long

8

none (but equivalent to __int64)

–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807

unsigned long long

8

none (but equivalent to unsigned __int64)

0 to 18,446,744,073,709,551,615

enum

varies

none

See Remarks.

float

4

none

3.4E +/- 38 (7 digits)

double

8

none

1.7E +/- 308 (15 digits)

long double

same as double

none

same as double

wchar_t

2

__wchar_t

0 to 65,535

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics