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的区别
我是农村姑娘