stm32 数据类型谁能详细讲解一下
longintchar在51中能用的能不能直接用?/*exact-widthsignedintegertypes*/typedefsignedcharint8_t;typ...
long int char 在51中能用的能不能直接用?
/* exact-width signed integer types */
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;
--------------
singned char 是不是就相当于long了?
long int char 在51中能用的能不能直接用? 展开
/* exact-width signed integer types */
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;
--------------
singned char 是不是就相当于long了?
long int char 在51中能用的能不能直接用? 展开
1个回答
展开全部
singned char是有符号字符型吧,范围应该是-127~127。怎么会是long呢?
long int 和char在51是可以用的,楼主请注意,数据类型只和编译器有关,基本上和单片机没有关系,只不过了解了单片机的位宽,可以有助于提高程序的效率。
如51是八位单片机,在做unsigned long 符号处理时,需要分为八位一个步骤处理四次。
而STM32是32位单片机,在处理unsigned long 时不需要分开处理。
另一个,STM32存在访问对齐,8位的数据存储占用的内存并不一定是8位,使用C语言编程时这些操作都由编译器自动处理,楼主可以使用联合体来验证。
long int 和char在51是可以用的,楼主请注意,数据类型只和编译器有关,基本上和单片机没有关系,只不过了解了单片机的位宽,可以有助于提高程序的效率。
如51是八位单片机,在做unsigned long 符号处理时,需要分为八位一个步骤处理四次。
而STM32是32位单片机,在处理unsigned long 时不需要分开处理。
另一个,STM32存在访问对齐,8位的数据存储占用的内存并不一定是8位,使用C语言编程时这些操作都由编译器自动处理,楼主可以使用联合体来验证。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询