整型表(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 位
|
decimal(C# 参考)
decimal 关键字表示 128 位数据类型。同浮点型相比,decimal 类型具有更高的精度和更小的范围,这使它适合于财务和货币计算。decimal 类型的大致范围和精度如下表所示。
类型
|
大致范围
|
精度
|
.NET Framework 类型
|
decimal
|
±1.0×10-28到 ±7.9×1028
|
28 到 29 位有效位
|
System.Decimal
|
默认值表(C# 参考)
内置类型表(C# 参考)
Storage of Basic Types(C)
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 Ranges(MS 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
|
分享到:
相关推荐
本人慢慢在网上各地收集及自己验证后总结的C/C++和C#的数据类型对照.没有完全 验证..组织部 类型太多了..要怪就怪C/C++的type define这个该死的语法 吧...
C++和C#的类型转换,全面地列出了C++和C#中对应的类型,因为在调用dll中经常地在两种语言之间转换数据类型。
c++和c#数据类型对照 c++ c# 数据类型 DLL COM 主要是C++与C#互调时的类型对照
C++数据类型与C#数据类型之间的对应关系
便捷的C++转C#工具,用于将完整的C++项目转换成C#项目
网文 C++和C#相互调用COM组件举例等。
这是对C/C++代码 封装 可以用C#调用。事实上,C系列中还存在一种语言叫做托管C++,这种语言语法上和C++几乎一样,但是却和C#一样编译成为微软中间语言,这样就可以和C#良好地通信,即可以在c#中使用托管C++类
c++和C#数据类型对比
C++和C#之间使用不同数据类型,当使用不同的语言实现时就需要转换数据类型
但是,我要用在C++项目中,怎么让C++调用C#的DLL呢。今天一上午都在琢磨这个问题,耽误了很多时间,原因是编译是出现:warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode ...
C和C++、C#电子书合集,不错的学习资料,使你能对C、C++、C#等有了基础的了解,从而能进一步加深使用各开发言语。
C++调用C#的DLL实例程序,压缩包中包含部分程序说明,很小的几行代码,但是C++调用C#的DLL目的已经达到。
C#可以通过P/Invoke调用C/C++写的DLL,一般在从DLL接收字符串时比较麻烦,本人在某个项目中遇到这个问题, 从DLL收读取字符串时遇到中文...C#需要使用byte[] 数组来表示字节缓冲, 注意C#中char 是占用两个字节的。
主要描述C,C++,C#三者之间的区别。
C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.C#调用C++.
用C++调用C#实例代码,C#封装为DLL。
C++转换成C#工具
只能发送byte数组,处理起来比较麻烦不说,如果是和c++等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接把byte数组转换为结构体,要在C#中发送...
c++ to c#,把c++代码转换成c#类型的 c++ to c#,把c++代码转换成c#类型的
完整的工程代码,在VS2015上编译通过,并且可以运行,实现MessagePack在C++和C#间传输数据