博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]数据类型 -- uint32_t 类型
阅读量:2438 次
发布时间:2019-05-10

本文共 1286 字,大约阅读时间需要 4 分钟。

最近在关注一个C++的开源项目,遇到了些基础的东东,算是记录下来吧,毕竟VC上是很少遇到的。估计写博客的朋友也是从别处贴过来的。

 

转自

 

 

体会[2006-10-25]:

1>. 在写程序时注意"无符号类型"的使用, 各种类型边界值的情况.
    如:
    a> 当某个数据不可能为负数时我们一定要考虑用以下类型:
       unsigned char, unsigned int, uint32_t, size_t, uint64_t, unsigned long int,
    b> 当有些数据你不知道是正负时一定不要用"a>"中的类型, 不然他永远也不可能为负.
       
    c> 数据的边界值要多注意, 如:
       uint32_t    a, b, c;
       uint64_t    m;
      
       m = a * b + c;
       在该运算中可能出现错误, "a*b"的类型可能超过uint32_t的最大值,这时一定不要忘了类型转换.
       m = ((uint64_t)a) * b + c;
2>. 在适当的时候要会自我定义数据类型.
    我们都知道linux C开发中的常见扩展数据类型的定义有:uint8_t, uint16_t, uint32_t, uint64_t, size_t, ssize_t, off_t .... 他之所以要自己定义出数据类型是有道理的, 如: typdef unsigned int uint32_t; 表示uint32_t为32位无符号类型数据, 其实size_t也是32位无符号数据类型, 为什么不直接写"unsigned int"呢?
     为了程序的可扩展性, 假如将来我们需要的数据大小变成了64bit时,我们只需要将typedef long long size_t就可以了, 不然我们可要修改好多好多的地方了.
这种设计我们同样可以应用到自己的开发中来,当自己设计一个int类型保存某种数据时,但你又没把握将来是不是要用long int时你可以引用一个自己定义的数据类型的啊!
stdint.h
-----------------------------
typedef unsigned int            uint32_t;
uint32_t.c
-----------------------------
#include <stdio.h>
#if 0      
#include <stdint.h>    // uint32_t
#endif     
           
typedef unsigned int       uint32_t;
typedef unsigned
long long uint64_t;
             
int main()
{
        uint32_t a;
        a = 12;
        printf("a = %x/n", a);
        printf("sizeof(a) = %d/n", sizeof(a));
        uint64_t b;
        b = 12;
        printf("b = %x/n", b);
        printf("sizeof(b) = %d/n", sizeof(b));
}  
a = c
sizeof(a) = 4
b = c
sizeof(b) = 8

转载地址:http://kagmb.baihongyu.com/

你可能感兴趣的文章
关于 cleanup stack 和 two phase consturction [1](转)
查看>>
Oracle数据导入导出imp/exp (转)
查看>>
如何构建固定网(PSTN)短消息系统(转)
查看>>
Delphi文件管理(三)(转)
查看>>
关于网线的一些问题的解答(转)
查看>>
深度分析Win 2003自动升级补丁功能(转)
查看>>
使用Carbide.vs与VS.NET2003构建Symbian开发平台-S60 平台(转)
查看>>
来访者地址统计,很好的一个程序!(转)
查看>>
UpdateWindow函数 (转)
查看>>
移动通信的主要测量指标及注意事项(转)
查看>>
无盘网络正确网络配置建议-减少卡机蓝屏关键(转)
查看>>
如何在Delphi中调用oracle的存储过程返回数据集(转)
查看>>
ASP指南:ADO/SQL(数据存取) (转)
查看>>
微软将在HEC上发布Windows 2003 64-bit(转)
查看>>
保护SQL Server数据库的十大绝招(转)
查看>>
百度搜索引擎使用指南(转)
查看>>
专家观点:安全成交换机的基本功能(转)
查看>>
树型结构在ASP中的简单解决(转)
查看>>
解决玩游戏时显卡卡屏现象(转)
查看>>
移动通信概要(转)
查看>>