用户登录
用户注册

分享至

dword字节数

  • 作者: 亖呉?盀
  • 来源: 51数据库
  • 2020-04-21

1.DWORD是什么数据类型

百度百科里就说的很详细了

DWORD值(REG_DWORD)

由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。REG文件中一般表现为“a”=“dword:00000001”。1个二进制位称为1个bit(位),8个二进制位称为1个Byte(字节),8 bit = 1 byte。2个字节就是1个Word(1个字,16位),DWORD(Double Word)就是双字的意思,两个字(32位)。

2.C语言有没有DWORD数据类型

C语言没有DWORD数据类型

DWORD数据类型是windows定义的数据类型,不是标准c中的数据类型。

C 语言包含的数据类型如下图所示:

DWORD 就是 Double Word, 每个word为2个字节的长度,DWORD 双字即为4个字节,每个字节是8位,共32位。

可以如下自定义DWORD:

typedef unsigned int DWORD;

3.注册表中“DWORD值”是什么含义

DWORD 就是 Double Word, 每个word为2个字节的长度,每个字节是8位,共32位

注册表的键值

在键值项窗口空白处单击右键,选择“新建”菜单项,可以看到这些键值被细分为:字符串值、二进制值、DWORD值、多字符串值、可扩充字符串值五种类型

符串值(REG_SZ)

该值一般用来作为文件描述和硬件标志,可以是字母、数字,也可以是汉字,但它是长度固定的文本字符串,最大长度不能超过255个字符。REG文件中一般表现为:“a”=“****”。

二进制值(REG_BINARY)

一般情况下,大多数硬件组件信息以二进制数据存储,然后通过十六进制的格式显示在注册表编辑器中。该类型值没有长度限制,可以是任意字节长,REG文件中一般表现为:“a”=“hex:01,00,00,00”。

DWORD值(REG_DWORD)

由 4 字节长(32 位整数)的数字表示的数据。设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。REG文件中一般表现为“a”=“dword:00000001”。

4.DWORD值的问题

我的理解:1个二进制位称为1个bit,8个二进制位称为1个Byte,也就是1个字节(8位),2个字节就是1个Word(1个字,16位),则DWORD(DOUBLE WORD)就是双字的意思,两个字(32位)

而REG-DWORD是指双字的数据在注册表中以十六进制数来表示,那么1个32位的二进制数用十六进制数来表示,当然只需要1-8位就够了

所以它们不矛盾,资料一说的是十六进制的表示方式,资料二说的是二进制的表示方式,当然不一样了,至于它们的转换,你可以参考一些资料,一般4个二进制位可以用1个十六进制位来表示,那么32个二进制位当然就用8个十六进制位来表示了

转载请注明出处51数据库 » dword字节数

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