用户登录
用户注册

分享至

uint和word UINT和WORD的区别

  • 作者: 我是农村姑娘
  • 来源: 51数据库
  • 2020-04-21

1、UINT 无符号整数,即通常说的WORD型数据,WORD和UINT占用的空间是一样的,用法上没有什么区别。

INT是“占16位的有符号数”,UINT是“占16位的无符号数”,WORD就是“占16位的无符号数”,这些只要记住就行,编程的时候别混淆就行了。

2、从用途上看,存取数据使用WORD类型,数据运算处理使用INT类型,所以通常WORD类型用于数据存储地址标识,INT和DINT等类型用于数据运算处理,两者之间可以互相转换。但在使用梯形图或SCL等语言编程时,区分较严格。

3、STEP7帮助的“附录>数据类型和参数类型>基本数据类型”中的“基本数据类型”列表中有WORD(字)和DWORD(双字)。

4、FB、FC的局部变量表的数据类型中也有WORD和DWORD。

WORD(字)常用来说明数据的长度,和字节一样,相当于一个量词。但是WORD是个多义词,除了用来作量词外,还用来作数据类型用。就好像“天”是一个量词(例如一天两天),此外“天”还有很多别的用法一样。

WORD和INT都是16位的数据类型,区别在于有无符号。BYTE、WORD和DWORD数据类型的常数必须用16进制数来表示。

在PLC中 UINT型和 WORD型的区别,怎样判断什么情况下该使用哪个类型,它们的长度都是一样的啊

word不能表示小数

其实到底是int还是word并没有严格的界限。如果是uint的话那么和word其实就是一样的存储结构。

选择什么类型就看你自己的选择了。

例如,一个数据你打算传送给PQW256,那么这个变量你最好选择word。如果你就是一个存储整数或者就死一个简单的计数变量的话那么你就随便选择。

欧姆龙PLC中这数据类型表示什么意思。BOOL、INT、UINT、DINT、UDINT、LINT、ULINT、WORD、DWORD、 LWORD,

BOOL 布尔 只有0和1两种状态

UINT 无符号整型

DINT 长整型

其他依次类推

WORD 字

DWORD 双字

C#调用VCdll时PVOID 数据类型怎么转换

C++ C#

=====================================

WORD ushort

DWORD uint

UCHAR int/byte 大部分情况都可以使用int代替,而如果需要严格对齐的话则应该用bytebyte

UCHAR* string/IntPtr

unsigned char* [MarshalAs(UnmanagedType.LPArray)]byte[]/?(Intptr)

char* string

LPCTSTR string

LPTSTR [MarshalAs(UnmanagedType.LPTStr)] string

long int

ulong uint

Handle IntPtr

HWND IntPtr

void* IntPtr

int int

int* ref int

*int IntPtr

unsigned int uint

COLORREF uintAPI与C#的数据类型对应关系表

API数据类型 类型描述 C#类型 API数据类型 类型描述 C#类型

WORD 16位无符号整数 ushort CHAR 字符 char

LONG 32位无符号整数 int DWORDLONG 64位长整数 long

DWORD 32位无符号整数 uint HDC 设备描述表句柄 int

HANDLE 句柄,32位整数 int HGDIOBJ GDI对象句柄 int

UINT 32位无符号整数 uint HINSTANCE 实例句柄 int

BOOL 32位布尔型整数 bool HWM 窗口句柄 int

LPSTR 指向字符的32位指针 string HPARAM 32位消息参数 int

LPCSTR 指向常字符的32位指针 String LPARAM 32位消息参数 int

BYTE 字节 byte WPARAM 32位消息参数 int

BOOL=System.Int32

BOOLEAN=System.Int32

BYTE=System.UInt16

CHAR=System.Int16

COLORREF=System.UInt32

DWORD=System.UInt32

DWORD32=System.UInt32

DWORD64=System.UInt64

FLOAT=System.Float

HACCEL=System.IntPtr

HANDLE=System.IntPtr

HBITMAP=System.IntPtr

HBRUSH=System.IntPtr

HCONV=System.IntPtr

HCONVLIST=System.IntPtr

HCURSOR=System.IntPtr

HDC=System.IntPtr

HDDEDATA=System.IntPtr

HDESK=System.IntPtr

HDROP=System.IntPtr

HDWP=System.IntPtr

HENHMETAFILE=System.IntPtr

HFILE=System.IntPtr

HFONT=System.IntPtr

HGDIOBJ=System.IntPtr

HGLOBAL=System.IntPtr

HHOOK=System.IntPtr

HICON=System.IntPtr

HIMAGELIST=System.IntPtr

HIMC=System.IntPtr

HINSTANCE=System.IntPtr

HKEY=System.IntPtr

HLOCAL=System.IntPtr

HMENU=System.IntPtr

HMETAFILE=System.IntPtr

HMODULE=System.IntPtr

HMONITOR=System.IntPtr

HPALETTE=System.IntPtr

HPEN=System.IntPtr

HRGN=System.IntPtr

HRSRC=System.IntPtr

HSZ=System.IntPtr

HWINSTA=System.IntPtr

HWND=System.IntPtr

INT=System.Int32

INT32=System.Int32

INT64=System.Int64

LONG=System.Int32

LONG32=System.Int32

LONG64=System.Int64

LONGLONG=System.Int64

LPARAM=System.IntPtr

LPBOOL=System.Int16[]

LPBYTE=System.UInt16[]

LPCOLORREF=System.UInt32[]

LPCSTR=System.String

LPCTSTR=System.String

LPCVOID=System.UInt32

LPCWSTR=System.String

LPDWORD=System.UInt32[]

LPHANDLE=System.UInt32

LPINT=System.Int32[]

LPLONG=System.Int32[]

LPSTR=System.String

LPTSTR=System.String

LPVOID=System.UInt32

LPWORD=System.Int32[]

LPWSTR=System.String

LRESULT=System.IntPtr

PBOOL=System.Int16[]

PBOOLEAN=System.Int16[]

PBYTE=System.UInt16[]

PCHAR=System.Char[]

PCSTR=System.String

PCTSTR=System.String

PCWCH=System.UInt32

PCWSTR=System.UInt32

PDWORD=System.Int32[]

PFLOAT=System.Float[]

PHANDLE=System.UInt32

PHKEY=System.UInt32

PINT=System.Int32[]

PLCID=System.UInt32

PLONG=System.Int32[]

PLUID=System.UInt32

PSHORT=System.Int16[]

PSTR=System.String

PTBYTE=System.Char[]

PTCHAR=System.Char[]

PTSTR=System.String

PUCHAR=System.Char[]

PUINT=System.UInt32[]

PULONG=System.UInt32[]

PUSHORT=System.UInt16[]

PVOID=System.UInt32

PWCHAR=System.Char[]

PWORD=System.Int16[]

PWSTR=System.String

REGSAM=System.UInt32

SC_HANDLE=System.IntPtr

SC_LOCK=System.IntPtr

SHORT=System.Int16

SIZE_T=System.UInt32

SSIZE_=System.UInt32

TBYTE=System.Char

TCHAR=System.Char

UCHAR=System.Byte

UINT=System.UInt32

UINT32=System.UInt32

UINT64=System.UInt64

ULONG=System.UInt32

ULONG32=System.UInt32

ULONG64=System.UInt64

ULONGLONG=System.UInt64

USHORT=System.UInt16

WORD=System.UInt16

WPARAM=System.IntPtr<---------补充----------->Wtypes.h 中的非托管类型 非托管C 语言类型 托管类名 说明

HANDLE void* System.IntPtr 32 位

BYTE unsigned char System.Byte 8 位

SHORT short System.Int16 16 位

WORD unsigned short System.UInt16 16 位

INT int System.Int32 32 位

UINT unsigned int System.UInt32 3

能高手解释下这段程序的意思

很简单。

/*

参数:data是输入数据流

databytes是输入数据流的长度(字节)

current是当前读取的位置,读完还要更新它

*/

uint32_t

Blowfish_stream2word(const uint8_t *data, uint16_t databytes, uint16_t *current)

{

uint8_t i;

uint16_t j;

uint32_t temp;

temp = 0x00000000; /* 返回一个32bit的数据*/

j = *current; /* databytes 是data输入流的长度,j是开始读取的位置,如果超出data流的长度就复位到0位置 */

for (i = 0; i < 4; i++, j++) { /* 循环4次,就是4个8-bit拼接为一个32bit */

if (j >= databytes) /* 复位到0 */

j = 0;

temp = (temp << 8) | data[j]; /* 左移+或:表示拼接 */

}

*current = j; /* 把当前读取之后的位置更新 */

return temp; /* 返回32-bit数据 */

}

WORD和int数据类型有什么区别

1、WORD是无符号的数据类型;INT是有符号的数据类型(最高位为1表示负数,0表示正数)。

通常情况下WORD用于逻辑运算,INT用于数学运算;

在使用梯形图或SCL等语言编程时区分较严格。

在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数学运算,INT也可作逻辑运算)。

2、S7-300的WORD与INT的取值范围:

字的取值范围都是:W#16#0000~~~W#16#FFFF。

S71200中怎么将BYTE字节型变量转换成实数REAL型变量

1. 对于S7-1200 不能在CONVERT指令框中选择位串BYTE,WORD,DWORD。

2. 如果将BYTE,WORD 数据类型的操作数指定为该指令的参数,则该操作数会被解释为具有相同位长度的无符号整数,此时,将BYTE 数据类型解释为USINT,将WORD解释为UINT。

3. 因此,要为指令参数输入数据类型BYTE,WORD,DWORD操作数,选择位长度相同的无符号整型。BYTE 选择 USINT、为WORD选择UINT或为 DWORD选择

UDINT。

转载请注明出处51数据库 » uint和word UINT和WORD的区别

软件
前端设计
程序设计
Java相关