在MPLAB IDE是什么数据类型的大小(int
,unsigned int
,float
,unsigned float
,char
...)?MPLAB IDE数据类型大小
0
A
回答
5
这是很难不知道你想编译哪个CPU的代码。假设例如Microchip的C18编译器为PIC18,该User Guide状态下基本型尺寸:
TYPE SIZE RANGE
char(1,2) 8 bits -128 127
signed char 8 bits -128 127
unsigned char 8 bits 0 255
int 16 bits -32,768 32,767
unsigned int 16 bits 0 65,535
short 16 bits -32,768 32,767
unsigned short 16 bits 0 65,535
short long 24 bits -8,388,608 8,388,607
unsigned short long 24 bits 0 16,777,215
long 32 bits -2,147,483,648 2,147,483,647
unsigned long 32 bits 0 4,294,967,295
请注意,这包括一些类型(short long
)不在标准C.
1
我会警惕这样的概括。 MPLAB只是一个IDE - 它适用于不同的芯片。 Microchip有8位控制器,如PIC18F,16位和32位控制器。每种数据类型可能会有所不同,并对性能产生严重影响。即对于8位芯片,16位和32位数据类型可以用软件模拟,这并不总是你想要的。
1
int,long等的值从未在所有编译器中标准定义(reference)。出于这个原因,建议尽量使用库:
#include <stdint.h>
要使用这个库为自己的目的,请尝试使用如下代码:
typedef uint8_t BYTE
typedef uint16_t WORD
typedef uint32_t LONG
然后你只需要使用这些来定义你的变量。这个方法通常使用一个integer.h文件来存储这些定义,并且包含在需要的地方。
-2
#include<stdint.h>
long x;
这两件事情让我打通;) 而其余的信息。已被其他人共享。
0
相关问题
- 1. 在MPLAB IDE
- 2. 数据库数据类型大小
- 3. MPLAB 8.83 IDE编译错误
- 4. 如何修复数据类型大小?
- 5. 提取数据类型大小PostgreSQL
- 6. OSX和iOS数据类型的大小
- 7. 获取数据类型字节大小
- 8. C# - 类型大小
- 9. 减少数据类型大小会导致索引超过最大大小?
- 10. C数据类型的最小保证大小/范围
- 11. PL/SQL数据类型支持大于NVarchar2的大小
- 12. Linux的数据模型和原始类型大小
- 13. 哪些参数决定处理器数据类型的大小?
- 14. Oracle中用于数字的可变大小数据类型
- 15. 大小/类型SqlParameters的数组
- 16. 数值类型和行大小在MySQL
- 17. NumPy mmap:“ValueError:可用数据的大小不是数据类型大小的倍数。”
- 18. 原子类型的大小
- 19. 从大型数据中制作小型数据帧。
- 20. 简单的小型C++ IDE
- 21. 如何记住.NET数据类型的存储大小?
- 22. 如何预测C中特定数据类型的大小?
- 23. 如何检索数据类型的大小?
- 24. C中数据类型的最小值和最大值
- 25. 布尔数据类型大小并且想要打印其值?
- 26. 在非常大的表上缩小数据类型
- 27. 数据类型大小对性能的影响
- 28. 在mysql中的数据类型大小和存储
- 29. 更改SSIS中数据类型的大小默认值
- 30. 改变形状大小的数据类型
我可以建议您声明这些值适用于PIC18系列的Microchip C18编译器吗?我知道链接的用户指南提供了这些信息,但它会使这个答案更加完整,以便将其包含在此处。此外,考虑到该问题没有指定编译器和目标微控制器,应该强调的是,其他目标的类型可能是不同的大小。 – 2009-11-10 20:40:38