zoukankan      html  css  js  c++  java
  • 数据类型总结 (C++,C#)

    作用 C++ 大小 C# 大小 .NET Framework类型 取值范围 后缀
    字符 char 1 sbyte 1 System.SByte -128~127  
    字符(无符号) unsigned char 1 byte 1 System.Byte 0~255  
    宽字符 wchar_t 2 char 2 System.Char    
    宽字符(无符号) unsigned wchar_t 2          
    逻辑值 bool 1 bool 1 System.Boolean true,false  
    短整数 short 2 short 2 System.Int16

    -32,768 .. 32,767

     
    短整数(无符号) unsigned short 2 ushort 2 System.UInt16 0~65535(2的16次方)  
    整数 int 4 int 4 System.Int32

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

     
    整数(无符号) unsigned int 4 uint 4 System.UInt32

    0 .. 4,294,967,295

     
    长整型 long 8 long 8 System.Int64

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

    L (最好用大写,因为小写l容易与1混淆)
    长整型(无符号) unsigned long 8 ulong 8 System.UInt64

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

     
    单精度实数 float 4 float 4 System.Single

    -3.402823e38 .. 3.402823e38

     
    双精度实数 double 8 double 8 System.Double

    -1.79769313486232e308 .. 1.79769313486232e308

    d
    长双精度实数 long double 10 decimal 16 System.Decimal

    -79228162514264337593543950335 .. 79228162514264337593543950335

    m
    字符串 string   string   System.String    
    对象     object   System.Object    

    有些朋友会问到,那么日期呢?DataTime不是基础类型,而是一个特殊的类(C++),或者说是一个结构体(C#),和其他类或者结构一样。他也没有预定义的大小,

    定义类型别名

    • C++中,使用typedef关键字 : typedef short Age;
    • C#中,使用using关键字 : using Age = System.Int16;

    题外话: 下面还有一个SQL Server数据类型与C#类型的比较。我就不整理了,直接摘录自网络

    SQL Server 2000

    C#

    CodeSmith

    数据类型

    取值范围

    数据类型

    取值范围

    空值代替值

    数据类型

    bigint

    -2^63 (-9,223,372,036,854,775,807)  2^63-1 (9,223,372,036,854,775,807)

    Int64

    -9,223,372,036,854,775,808;即十六进制的 0x80000000000000009,223,372,036,854,775,807;即十六进制的 0x7FFFFFFFFFFFFFFF

    Int64.MinValue

    Int64

    binary

    固定长度的 n 个字节二进制数据。N 必须从 1  8,000。存储空间大小为 n+4 字节。

    Byte[]

     

    null

    Binary

    bit

    TrueFalse

    enum

    01-1(使用一个枚举变量来代替)

    public enum bitNull  

    {

        False,

        True,

        Null = -1

    };

    -1

    Boolean

    char

    长度为 n 个字节的固定长度且非 Unicode 的字符数据。n 必须是一个介于 1  8,000 之间的数值。存储大小为 n 个字节。

    string

     

    null

    AnsiStringFixedLength

    datetime

    存储从 1753  1  1 日至 9999  12  31 日的日期(每个数值要求8 个字节的存储空间)

    DateTime

    0001  1  1  00:00:00 .00000009999  12  31  23:59:59.9999999

    1753-01-01 0:00:00

    DateTime

    decimal

     - 10^38 +1  10^38 - 1

    Decimal

    -79,228,162,514,264,337,593,543,950,33579,228,162,514,264,337,593,543,950,335

    Decimal.MinValue

    Decimal

    float

     - 1.79E + 308  1.79E + 308 之间的浮点数字数据

    Double

    -1.79769313486232e308+1.79769313486232e308

    Double.MinValue

    Double

    image

    可变长度二进制数据介于 0  231-1 (2,147,483,647) 字节之间。

    Byte[]

     

    null

    Binary

    int

     -2^31 (-2,147,483,648)  2^31 - 1 (2,147,483,647) 的整型数据(所有数字)

    int

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

    -2147483648

    Int32

    money

    货币数据值介于 -2^63 (-922,337,203,685,477.5808)  2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。存储大小为 8 个字节。

    Single

    -3.402823e38+3.402823e38

    Single.MinValue

    Currency

    nchar

    至多为 4000  Unicode 字符

    string

     

    null

    StringFixedLength

    ntext

    可变长度 Unicode 数据的最大长度为230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。

    string

     

    null

    String

    numeric

    使用最大精度时,有效值从 - 10^38 +1  10^38 – 1

    Decimal

    -79,228,162,514,264,337,593,543,950,33579,228,162,514,264,337,593,543,950,335

    Decimal.MinValue

    Decimal

    nvarchar

    包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1  4,000 之间。

    string

     

    null

    String

    real

     ?3.40E + 38  3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。

    Single

    -3.402823e38+3.402823e38

    Single.MinValue

    Single

    smalldatetime

     1900  1  1 日至 2079  6  6 日的日期(每个数值要求 4 个字节的存储空间)。

    DateTime

    0001  1  1  00:00:00 .00000009999  12  31  23:59:59.9999999

    1900-01-01 0:00:00

    DateTime

    smallint

     -2^15 (-32,768)  2^15 - 1 (32,767) 的整型数据。存储大小为 2个字节。

    Int16

    -3276832767

    Int16.MinValue

    Int16

    smallmoney

    货币数据值介于 -214,748.3648  +214.748,3647 之间,精确到货币单位的千分之十。存储大小为 4 个字节。

    Single

    -3.402823e38+3.402823e38

    Single.MinValue

    Currency

    sql_variant

    SQL Server 2000中不支持大数据类型text, ntext, image, timestamp,其他类型均支持

    Object

     

    null

    Object

    text

    服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。

    string

     

    null

    AnsiString

    timestamp

    timestamp 这种数据类型表现自动生成的二进制数,确保这些数在数据库中是唯一的。timestamp 一般用作给表行加版本戳的机制。存储大小为 8字节。

    Byte[]

     

    null

    Binary

    tinyint

     0  255 的整型数据。存储大小为1 字节。

    Byte

    0255

    Byte.MinValue

    Byte

    uniqueidentifier

    存储 16 字节的二进制值,该值的使用与全局唯一标识符 (GUID) 一样。GUID 是一个唯一的二进制数字;世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。

    Guid

     

    Guid.Empty

    Guid

    varbinary

    n 个字节变长二进制数据。n 必须从 1 8,000。存储空间大小为实际输入数据长度 +4 个字节,而不是 n 个字节。输入的数据长度可能为 0 字节。

    Byte[]

     

    null

    Binary

    varchar

    长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1  8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n个字节。所输入的数据字符长度可以为零。

    string

     

    null

    AnsiString

  • 相关阅读:
    cnblog项目--20190309
    django js引入失效问题
    Python老男孩 day16 函数(六) 匿名函数
    Python老男孩 day16 函数(五) 函数的作用域
    Python老男孩 day15 函数(四) 递归
    Python老男孩 day15 函数(三) 前向引用之'函数即变量'
    Python老男孩 day15 函数(二) 局部变量与全局变量
    Python老男孩 day14 函数(一)
    Python老男孩 day14 字符串格式化
    Python老男孩 day14 集合
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1498582.html
Copyright © 2011-2022 走看看