记得之前在刷笔试题的时候就看见过这个问题,发现当时上网百度后又忘了。

最近在看CryEngine3引擎代码的时候又晕了,趁现在赶紧记下来~

在查看CE3的代码时我发现了这个变量,TFlowNodeId
m_flowNodeId;

心想这是什么鬼?(请理解一个菜鸟没啥经验)

然后果断在VS下按F12查看定义,连着按了几次我终于捋清其中的奥妙。

所以我干脆把uint8,uint32的都找出来了~

typedef  unsigned  char  uchar;

typedef  uchar  uint8;

typedef   uint8  TFlowPortId;

typedef  unsigned
 short  ushort;

typePOINTdef  ushort  uint16;

typedef  uint16  TFlowNodeId;

typedef  unsigned  int  
uint;

typedef  uint  uint32;

下面我就要针对其意义简单的做一下分析了~

一般来说我们都知道typedef

用来给变量或结构体起别名,之后声明变量的时候看起来比较清晰易懂

例如 typedef char*
PCHAR

或者   typedef
struct tagPOINT

       {

             int
x;

             int
y;

       }POINT;

PCHAR
c;

POINT
P1;

在这里我们用typedef来定义与平台无关的类型。

位平台的sizeof(int)=2,
32位平台的sizeof(int)=4, 64位平台的sizeof(int)=8。

(当然这个是不一定得,可能和平台以及编译器有关,多数情况是上面说的那样)

*比如我们想定义一个int16,想让他无论什么平台上都是占16位,即两个字节。

那我们就只需要修改    typedef short
int16;

因为在16位和32位机器上(对于一般的编译器来说)short都是占16位,

这样我们就可以声明  int16  a;就达到我们的效果了~

顺便贴一下:

32位系统,vc编译器中,

short占 2 字节,

int 、float、long 都占 4 字节,

double 占8 字节

具体占用几个字节,用sizeof();可以测出来的

上面代码还涉及到unsigned,无符号数,这个在之后的博客里再详细讨论一下吧~

上面有任何不对的地方还请指出,随时更正~

uint16,uint32是什么?的更多相关文章

  1. Objective-C 中Socket常用转换机制(NSData,NSString,int,Uint8,Uint16,Uint32,byte[])

    最近项目中要用到socket通讯,由于涉及到组包问题,所以需要数据类型之间的来回转换,现在分享出来 如果想要请教Socket的问题请留言,我会随时回答的 1. int类型转16进制hexstring ...

  2. 开源组件ExcelReport 1.5.2 使用手册

    ExcelReport是一款基于NPOI开发的报表引擎组件.它基于关注点分离的理念,将数据与样式.格式分离.让模板承载样式.格式等NPOI不怎么擅长且实现繁琐的信息,结合NPOI对数据的处理的优点将E ...

  3. Golang 语法学习笔记

    Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...

  4. Go语言程序设计(1)--基本语法

    第一个程序 package main import "fmt" func main() { fmt.Printf("Hello world") } 通过阅读这个 ...

  5. Golang语法与代码格式速记【转】

    // Description: Golang语法与代码格式速记 // Author: cxy // Date: 2013-04-01 // Version: 0.3 // TODO 说明 // TOD ...

  6. 【Go入门教程2】内置基础类型(Boolean、数值、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值

    这小节我们将要介绍如何定义变量.常量.Go内置类型以及Go程序设计中的一些技巧. 定义变量 Go语言里面定义变量有多种方式. 使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型 ...

  7. 【GoLang】golang 最佳实践汇总

    最佳实践 1 包管理 1.1 使用包管理对Golang项目进行管理,如:godep/vendor等工具 1.2 main/init函数使用,init函数参考python 1.2.1 main-> ...

  8. swift基础:第三部分:对第一部分的补充说明

    今天是我学习swift的第二天,虽然我和swift的距离有点远,但我相信,我会慢慢的接近这门语言的.好了,我们聊聊昨天晚上的事吧,昨天晚上下班早,回到家时,真是惊喜哈,宿舍那两做好了饭,等我吃饭,想对 ...

  9. GOLANG 基本数据类型 整型

    基本数据类型-整型 种类     有符号(负号)      int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位 ...

  10. Nim教程【七】

    这是国内第一个关于Nim的系列教程 先说废话 很开心,在今天凌晨快一点多的时候拿到了 nim-lang.com:nim-lang.cn:nim-lang.net 这三个域名,到不是为了投资,准备用ni ...

随机推荐

  1. Codeforces 85B. Embassy Queue【段树、馋】

    标题效果: 每个人都应该申请签证必须向大使馆3种程序,而这3个步骤做的顺序是固定的.通过各种形式的手续给出多少,它需要对每个过程的处理时间,有多少人会来办理手续,什么时间来.要求的是全部人分别在大使馆 ...

  2. PLC中ST语言的几种程序流程控制语句

    ST语言是IEC61131-3中规定的5中标准语言之一,目前常用见品牌的PLC都支持这种语言(施耐德,AB可以直接选择创建该类型的程序段或者功能块,西门子的略微麻烦一点),ST语言的一个好处是移植性好 ...

  3. 6 Wcf使用Stream传输

    1.创建service和client项目 service项目新建wcf服务文件 MediaService 和 IMediaService IMediaService 代码为 using System. ...

  4. PBS 作业调度应用

    PBS(Portable Batch System),最初由 NASA 的 Ames 研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理(Portable Batch Pr ...

  5. python3实现域名查询和whois查询

    关键字:python3 域名查询 域名查询接口 whois查询原文:http://www.cnblogs.com/txw1958/archive/2012/08/31/python3-domain-w ...

  6. TCP 三次握手(相当于寄信需要回执,第一次握手:我寄给你一封信。第二次握手:你回我一封信。第三次握手:我再给你一个回执,这样你才能确认我收到信了)

    TCP 连接是通过三次握手进行初始化的.三次握手的目的是同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.以下步骤概述了通常情况下客户端计算机联系服务器计算机的过程: 1. 客户端向服务器发送 ...

  7. ubuntu进不去桌面

    今天折腾ubunu的时候,总是进不去桌面,开机直接进入啦终端模式.在google帮助终于解决. sudo apt install --reinstall gnome-shell ubuntu-desk ...

  8. ASP .NET Model

    Model是全局变量,一个页面一个 前台 @ModelWebApplication1.Models.Movie; @{ ViewBag.Title = "ModelTest"; } ...

  9. 通通玩blend美工(2)——时钟

    原文:通通玩blend美工(2)--时钟 谢谢大家对我上一篇Blend的支持:通通玩blend美工(1)——荧光Button 再接再厉再来一篇~~! 这篇是建立在已经看得懂上一篇为基础来写的,有些细节 ...

  10. Win8 Metro(C#)数字图像处理--2.59 P分位法图像二值化

    原文:Win8 Metro(C#)数字图像处理--2.59 P分位法图像二值化  [函数名称]   P分位法图像二值化 [算法说明]   所谓P分位法图像分割,就是在知道图像中目标所占的比率Rat ...