精华内容
下载资源
问答
  • 浅析uint8_t / uint16_t / uint32_t /uint64_t

    万次阅读 多人点赞 2018-09-13 18:03:47
    简单来说,uint8_t / uint16_t / uint32_t /uint64_t这些数据类型都只是别名而来,具体如下: 一、C语言数据基本类型 在C语言中有6种基本数据类型:short、int、long、float、double、char 1)整型:short int、...

    简单来说,uint8_t / uint16_t / uint32_t /uint64_t这些数据类型都只是别名而来,具体如下:

    一、C语言数据基本类型

    在C语言中有6种基本数据类型:short、int、long、float、double、char

    1)整型:short  int、int、long int

    2)浮点型:float、double

    3)字符类型:char


    二、分析uint8_t\uint_16_t\uint32_t\uint64_t

    1、数据来源:这些数据类型中都带有_t, _t 表示这些数据类型是通过typedef定义的,而不是新的数据类型。也就是说,它们其实是我们已知的类型的别名。

    2、typedef:typedef用来定义关键字或标识符的别名

    3、使用原因:方便代码的维护。比如,在C中没有bool型,于是在一个软件中,一个程序员使用int,一个程序员使用short,会比较混乱,最好用一个typedef来定义一个统一的bool,每个程序员都可以用这个别名的bool。

    不同的平台会有不同的字长,所以利用预编译和typedef可以方便的维护代码。

    typedef unsigned char uint8_t;//将uint8_t别名为无符号字符型

    4、定义:在C99标准中定义了这些数据类型,具体定义在:stdint.h中

    定义类型如下:

    typedef   signed          char int8_t;
    typedef   signed short     int int16_t;
    typedef   signed           int int32_t;
    typedef   signed       __INT64 int64_t;
    
    /* exact-width unsigned integer types */
    typedef unsigned          char uint8_t;
    typedef unsigned short     int uint16_t;
    typedef unsigned           int uint32_t;
    typedef unsigned       __INT64 uint64_t;
    
    /* 7.18.1.2 */
    /* smallest type of at least n bits */
    /* minimum-width signed integer types */
    typedef   signed          char int_least8_t;
    typedef   signed short     int int_least16_t;
    typedef   signed           int int_least32_t;
    typedef   signed       __INT64 int_least64_t;
    
    /* minimum-width unsigned integer types */
    typedef unsigned          char uint_least8_t;
    typedef unsigned short     int uint_least16_t;
    typedef unsigned           int uint_least32_t;
    typedef unsigned       __INT64 uint_least64_t;
    
    /* 7.18.1.3 */
    /* fastest minimum-width signed integer types */
    typedef   signed           int int_fast8_t;
    typedef   signed           int int_fast16_t;
    typedef   signed           int int_fast32_t;
    typedef   signed       __INT64 int_fast64_t;
    
    /* fastest minimum-width unsigned integer types */
    typedef unsigned           int uint_fast8_t;
    typedef unsigned           int uint_fast16_t;
    typedef unsigned           int uint_fast32_t;
    typedef unsigned       __INT64 uint_fast64_t;
    
    /* 7.18.1.4 integer types capable of holding object pointers */
    #if __sizeof_ptr == 8
    typedef   signed       __INT64 intptr_t;
    typedef unsigned       __INT64 uintptr_t;
    #else
    typedef   signed           int intptr_t;
    typedef unsigned           int uintptr_t;
    #endif
    
    /* 7.18.1.5 greatest-width integer types */
    typedef   signed     __LONGLONG intmax_t;
    typedef unsigned     __LONGLONG uintmax_t;

    5、格式化输出:

    1)uint16_t %hu

    2)uint32_t %u

    3)uint64_t %llu

    6、uint8_t类型的输出:

    typedef unsigned char uint8_t;//将uint8_t别名为无符号字符型
    
    uint8_t buf = 65;
    
    printf("buf = %d",buf);//错误
    printf("buf = %c",buf);//正确,打印出字符的ASCII码

     

    展开全文
  • c# uint64uint, UInt16, UInt32 and UInt64 are used to represent unsigned integers with values ranging based on their capacities/occupied size in the memory. These types work with positive values only. ...

    c# uint64

    uint, UInt16, UInt32 and UInt64 are used to represent unsigned integers with values ranging based on their capacities/occupied size in the memory. These types work with positive values only. All these types are the same in nature but different based on the value ranges.

    uint,UInt16,UInt32和UInt64用于表示无符号整数,其值的范围取决于其在内存中的容量/占用的大小。 这些类型仅适用于正值。 所有这些类型本质上都是相同的,但根据值范围而不同。

    uint,UInt16,UInt32和UInt64之间的区别 (Difference between uint, UInt16, UInt32 and UInt64)

    1)UInt16 (1) UInt16)

    • UInt16 represents 16-bits (2-bytes) unsigned integer.

      UInt16表示16位(2字节)无符号整数。

    • UInt16 occupies 16-bits (2-bytes) space in the memory.

      UInt16在内存中占用16位(2字节)的空间。

    • As per the 2-bytes data capacity, an UInt16's value capacity is 0 to +65535.

      根据2字节的数据容量, UInt16的值容量为0到+65535。

    Example:

    例:

    Consider the code – Here, we are printing required size, type, minimum & maximum value, variable declaration, and assignment of an UInt16.

    考虑代码–在这里,我们正在打印所需的大小,类型,最小值和最大值,变量声明以及UInt16的分配。

    using System;
    using System.Text;
    
    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                //printing UInt16 capacity, type, MIN & MAX value
                Console.WriteLine("UInt16 occupies {0} bytes", sizeof(UInt16));
                Console.WriteLine("UInt16 type is: {0}", typeof(UInt16));
                Console.WriteLine("UInt16 MIN value: {0}", UInt16.MinValue);
                Console.WriteLine("UInt16 MAX value: {0}", UInt16.MaxValue);
                Console.WriteLine();
    
                //UInt16 variables
                UInt16 a = 12345;
                UInt16 b = 65000;
                Console.WriteLine("a = {0}, b = {1}", a, b);
    
                //hit ENTER to exit
                Console.ReadLine();
            }
        }
    }
    
    

    Output

    输出量

    UInt16 occupies 2 bytes
    UInt16 type is: System.UInt16
    UInt16 MIN value: 0
    UInt16 MAX value: 65535
    
    a = 12345, b = 65000
    
    
    

    2)UInt32 / uint (2) UInt32/uint)

    uint is an alias of UInt32, so, uint and UInt32 are the same type.

    uint是UInt32的别名,因此uint和UInt32是同一类型。

    • UInt32 represents 32-bits (4-bytes) unsigned integer.

      UInt32表示32位(4字节)无符号整数。

    • UInt32 occupies 32-bits (4-bytes) space in the memory.

      UInt32在内存中占用32位(4字节)空间。

    • As per the 4-bytes data capacity, an UInt32's value capacity is 0 to +4294967295.

      按照4字节的数据容量, UInt32的值容量为0到+4294967295。

    Example:

    例:

    Consider the code – Here, we are printing required size, type, minimum & maximum value, variable declaration, and assignment of an UInt32 or uint.

    考虑代码–在这里,我们正在打印所需的大小,类型,最小值和最大值,变量声明以及UInt32或uint的分配。

    using System;
    using System.Text;
    
    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                //printing UInt32 capacity, type, MIN & MAX value
                Console.WriteLine("UInt32 occupies {0} bytes", sizeof(UInt32));
                Console.WriteLine("UInt32 type is: {0}", typeof(UInt32));
                Console.WriteLine("UInt32 MIN value: {0}", UInt32.MinValue);
                Console.WriteLine("UInt32 MAX value: {0}", UInt32.MaxValue);
                Console.WriteLine();
    
                //UInt32 variables
                UInt32 a = 289812345;
                UInt32 b = 90909;
                Console.WriteLine("a = {0}, b = {1}", a, b);
                Console.WriteLine();
    
                //printing uint capacity, type, MIN & MAX value
                Console.WriteLine("uint occupies {0} bytes", sizeof(uint));
                Console.WriteLine("uint type is: {0}", typeof(uint));
                Console.WriteLine("uint MIN value: {0}", uint.MinValue);
                Console.WriteLine("uint MAX value: {0}", uint.MaxValue);
                Console.WriteLine();
    
                //uint variables
                uint x = 289812345;
                uint y = 90909;
                Console.WriteLine("x = {0}, y = {1}", x, y);
    
                //hit ENTER to exit
                Console.ReadLine();
            }
        }
    }
    
    

    Output

    输出量

    UInt32 occupies 4 bytes
    UInt32 type is: System.UInt32
    UInt32 MIN value: 0
    UInt32 MAX value: 4294967295
    
    a = 289812345, b = 90909
    
    uint occupies 4 bytes
    uint type is: System.UInt32
    uint MIN value: 0
    uint MAX value: 4294967295
    
    x = 289812345, y = 90909
    
    
    

    3)UInt64 (3) UInt64)

    • UInt64 represents 64-bits (8-bytes) unsigned integer.

      UInt64表示64位(8字节)无符号整数。

    • UInt64 occupies 64-bits (8-bytes) space in the memory.

      UInt64在内存中占用64位(8字节)的空间。

    • As per the 8-bytes data capacity, an UInt64's value capacity is 0to +18446744073709551615.

      按照8字节的数据容量, UInt64的值容量为0到+18446744073709551615。

    Example:

    例:

    Consider the code – Here, we are printing required size, type, minimum & maximum value, variable declaration, and assignment of an UInt64.

    考虑代码–在这里,我们正在打印所需的大小,类型,最小值和最大值,变量声明以及UInt64的分配。

    using System;
    using System.Text;
    
    namespace Test
    {
        class Program
        {
            static void Main(string[] args)
            {
                //printing UInt64 capacity, type, MIN & MAX value
                Console.WriteLine("UInt64 occupies {0} bytes", sizeof(UInt64));
                Console.WriteLine("UInt64 type is: {0}", typeof(UInt64));
                Console.WriteLine("UInt64 MIN value: {0}", UInt64.MinValue);
                Console.WriteLine("UInt64 MAX value: {0}", UInt64.MaxValue);
                Console.WriteLine();
    
                //UInt64 variables
                UInt64 a = 289818278722345;
                UInt64 b = 98983989;
                Console.WriteLine("a = {0}, b = {1}", a, b);
                Console.WriteLine();
    
                //hit ENTER to exit
                Console.ReadLine();
            }
        }
    }
    
    

    Output

    输出量

    UInt64 occupies 8 bytes
    UInt64 type is: System.UInt64
    UInt64 MIN value: 0
    UInt64 MAX value: 18446744073709551615
    
    a = 289818278722345, b = 98983989
    
    
    

    翻译自: https://www.includehelp.com/dot-net/difference-between-uint-UInt16-UInt32-and-UInt64-in-c-sharp.aspx

    c# uint64

    展开全文
  • 定义数据类型uint8 uint16 uint32

    千次阅读 2020-05-12 16:15:04
    typedef unsigned char uint8; /* 无符号8位数据 */ typedef signed char int8; /* 有符号8位数据 */ typedef unsigned short uint16; /* 无符号16位数据 */ typedef signed short int16; /* 有符号16位数据 */ ...
    typedef unsigned char uint8;      /* 无符号8位数据  */
    typedef signed char int8;         /* 有符号8位数据  */
    typedef unsigned short uint16;    /* 无符号16位数据 */
    typedef signed short int16;       /* 有符号16位数据   */
    typedef unsigned int uint32;      /* 无符号32位数据 */
    typedef signed int int32;         /* 有符号32位数据   */
    
    
    展开全文
  • 文章目录目录uint8_t\uint_16_t\uint32_t\uint64_t格式化输出 uint8_t\uint_16_t\uint32_t\uint64_t 在 C99 标准(ISO C99: 7.18 Integer types)的 stdint.h 头文件中通过 typedef 定义了这些数据类型: #ifndef __...

    目录

    uint8_t\uint_16_t\uint32_t\uint64_t

    在 C99 标准(ISO C99: 7.18 Integer types)的 stdint.h 头文件中通过 typedef 定义了这些数据类型:

    #ifndef __int8_t_defined  
    # define __int8_t_defined  
    typedef signed char             int8_t;   
    typedef short int               int16_t;  
    typedef int                     int32_t;  
    
    # if __WORDSIZE == 64  
    typedef long int                int64_t;  
    # else  
    __extension__  
    typedef long long int           int64_t;  
    # endif  
    #endif  
    
    typedef unsigned char           uint8_t;  
    typedef unsigned short int      uint16_t;  
    
    #ifndef __uint32_t_defined  
    typedef unsigned int            uint32_t;  
    # define __uint32_t_defined  
    #endif  
    
    #if __WORDSIZE == 64  
    typedef unsigned long int       uint64_t;  
    #else  
    __extension__  
    typedef unsigned long long int  uint64_t;  
    #endif  
    

    可以看出定义 uint8_t / uint16_t / uint32_t /uint64_t 的目的是为了跨平台编程的可移植性。

    格式化输出

    • uint16_t - %hu
    • uint32_t - %u
    • uint64_t - %llu
    • uint8_t - 从定义中可以看出,uint8_t 实际上是一个 char 类型,所以在输出 uint8_t 类型的变量时,实际上输出了其对应的字符,而不是数值:
    uint8_t num = 67;
    cout << num << endl;
    
    // 输出结果:C
    
    展开全文
  • 在今天之前一直不知道这几个是什么鬼...uint8_t uint16_t uint16_t uint32_t 先来一波基础吧 1、数值类型 1)整型:short、int、long 2)浮点型:float、double 2、字符类型:char 这些是C语言中有6种基本数据...
  • 1、输出uint32_t uint32_t a = 888; printf("a is %ld", a); 2、输出uint64_t uint64_t b = 888; printf("b is %lu", b); printf("b is %lld", b); 3、输出16进制 int c =16; printf("c is 0x%08x", c)
  • C++的基础数据类型: C++的主要数据类型,主要分为三类:布尔型,整型(char型从本质上说,...即我们所看到的 uint8_t、uint16_t、uint32_t都不是新的数据类型,而是通过typedef给类型起得别名。 uint8_t / uint...
  • 一、C语言基本数据类型回顾 在C语言中有6种基本数据类型:short、int、long、float、double、char 1、数值类型 1)整型:short、int、long ...三、uint8_t\uint_16_t\uint32_t\uint64_t 1、这些
  • uint8_t / uint16_t / uint32_t /uint64_t详解

    千次阅读 2019-08-19 13:43:14
    在C语言中有6种基本数据类型:short、int、long、float、double、char ...因此,uint8_t / uint16_t / uint32_t /uint64_t这些数据类型都只是别名。这些数据类型中都带有_t, _t 表示这些数据类型是通过type...
  • 在c语言中由6种基本数据类型:short、int、long、...因此,uint8_t、uint16_t、uint32_t、uint64_t这些数据类型都只是别名,这些数据类型都带有_t,_t表示这些数据类型是通过typedef定义的,而不是新的数据类型。...
  • uint8_t / uint16_t / uint32_t /uint64_t 数据类型
  • 最近比较迷惑uint16_t和uint32_t在跨平台开发中具体的使用方式是什么,所以,看到一篇不错的文章转载过来了 原文链接:https://blog.csdn.net/qq_37050329/article/details/86481464 uint8_t / uint16_t / uint32_t...
  • uint16,uint32是什么?

    万次阅读 2015-08-22 17:02:42
    记得之前在刷笔试题的时候就看见过这个问题,发现当时上网百度后又忘了。 最近在看CryEngine3引擎代码的时候又晕了,趁现在赶紧记下来~ 在查看CE3的代码时我发现了这个变量,TFlowNodeId...所以我干脆把uint8,uint32
  • uint8

    2020-11-10 14:35:35
    uint8为8位无符号整数类型,表示范围为[0, 255]。 (1111,1111)2=255(1111,1111)_2=255(1111,1111)2​=255
  • c#中 uint_C#中的uint关键字

    千次阅读 2020-07-30 02:03:04
    c#中 uint C#uint关键字 (C# uint keyword) In C#, uint is a keyword which is used to declare a variable that can store an integral type of value (unsigned integer) the range of 0 to 4,294,967,295. uint...
  • 固定长度的整型,包括有符号整型或无符号整型。 整型范围 Int8 - [-128 : 127] Int16 - [-32768 : 32767] Int32 - [-2147483648 : 2147483647] Int64 - [-9223372036854775808 : ...UInt8 - [0 : 255] UIn...
  • uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型? 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型...
  • C++ 中 uint8_t,uint16_t相互转换 uint8_t src_data[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; uint16_t dec_data[5]; uint8_t nsrc_data[10]; //1.uint8_t转uint16_t for (int i = 0; i < 5; i++) { dec_data...
  • uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型...
  • uint8和uint16 是什么数据类型

    万次阅读 2019-08-10 15:59:01
    uint8 #8位无符号整形 uint16 #16位无符号整形
  • uint8、uint16、uint32、uint64 这大家可能比较理解unit,unsigned int 嘛 uint8,我想很多人也能够理解,其实是unsigned char 那么 _t 呢?其实就是 typedef 的意思 我们在学习标准的C语言时,...
  • 在嵌入式编程中经常遇到用uint8_t、uint16_t、uint32_t、uint_fast16_t之类的关键字定义一些整型变量,但是具体表示什么意思,并不是太清楚,只是把它当成int之类的整型变量定义关键字。在自己理解他们之前,先写...
  • 关于uint8_t/uint16_t/uint32_t/uint_fast16_t

    千次阅读 2018-03-27 14:10:32
    在嵌入式编程中经常遇到用uint8_t、uint16_t、uint32_t、uint_fast16_t之类的关键字定义一些整型变量,但是具体表示什么意思,并不是太清楚,只是把它当成int之类的整型变量定义关键字。在自己理解他们之前,先...
  • 内容: 记录更通用的一种写法,uint8_t — _t — uint32_t — uint64_t。来到公司以后,就很少再看到有直接写int,long long,short类似这种写法了。但是其实uint8_t,uint16_t,uint32_t,uint64_t这些都不是什么新...
  • uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
  • UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64 固定长度的整型,包括有符号整型或无符号整型。 整型范围¶ Int8 - [-128 : 127] Int16 - [-32768 : 32767] Int32 - [-2147483648 : 2147483647] ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 60,998
精华内容 24,399
关键字:

uint