DWORD WORD BYTE 相互转换

news/2024/12/4 2:40:07/

 DWORD WORD BYTE 相互转换

  

  DWORD  4个字节

  WORD     2个字节

  BYTE       1个字节

 

1) DWORD--->WORD

	DWORD dw=0;
WORD hW=HIWORD(dw);
WORD lW=LOWORD(lw);


2)WORD--->DWORD

	DWORD dw=0;
WORD hW=HIWORD(dw);
WORD lW=LOWORD(lw);
dw=MAKELONG(lw,hw);


3) WORD---->BYTE

	WORD word=0;
BYTE hb=HIBYTE(word);
BYTE lb=LOBYTE(word);


4)BYTE------>WORD

	WORD word=0;
BYTE hb=HIBYTE(word);
BYTE lb=LOBYTE(word);
word = MAKEWORD(lb,hb);


5) "ABCD" 或L“你好” 这样的四字节字符串 转换为DWORD 进行保存

	WCHAR str[3]={L"你好"};
memcpy(&dWord,str,4);
WCHAR hChar=(WCHAR)HIWORD(dWord); // 好
WCHAR lChar=(WCHAR)LOWORD(dWord); // 你


综合例子:

	char  *name="abcd";
DWORD dWord=0;
WORD hw=HIWORD(dWord);
WORD lw=LOWORD(dWord);
BYTE hhb=HIBYTE(hw);
BYTE lhb=LOBYTE(hw);
BYTE hlb=HIBYTE(lw);
BYTE llb=LOBYTE(lw);
hhb   =   name[0]; 
hlb   =   name[1]; 
lhb   =   name[2]; 
llb   =   name[3]; 
hw   =   MAKEWORD(hlb,   hhb);  //ba
lw   =   MAKEWORD(llb,   lhb);  //dc
//dWord 为 "dcba"
dWord   =   MAKELONG(lw,   hw); //dcba
hw=HIWORD(dWord); // ba
lw=LOWORD(dWord); // dc
hhb=HIBYTE(hw);  // a
lhb=LOBYTE(hw);  // b
lhb=HIBYTE(lw);  // c
llb=LOBYTE(lw);  // d
///  对比程序  ///
// dWord 为 "abcd"
memcpy(&dWord,name,4);
hw=HIWORD(dWord); // cd
lw=LOWORD(dWord); // ab
hhb=HIBYTE(hw);   // d
lhb=LOBYTE(hw);   // c
lhb=HIBYTE(lw);   // b
llb=LOBYTE(lw);   // a



 

参考资料:

http://topic.csdn.net/t/20040609/10/3076147.html


http://www.ppmy.cn/news/857291.html

相关文章

tbslog乱码转换_word 编码 转换器 在线转换器

想用一个PDF转Word的转换器,完全免费的 推荐用专业pdf编辑软件Wondershare PDFelement:主要为用户提供了强大的编辑功能,PDFelement也可以让你轻松改变PDF文档中元素的样式字体等!支持强大的OCR光学识别引擎,可以极大的提升文字的…

华为OD机试:字符串转换

标题:字符串转换 | 时间限制:1 秒 | 内存限制:262144K | 语言限制:不限 将一个只包含英文小写字母和大写字母和阿拉伯数字的字符串,按照如下规则转换,字符串 中连续出现的字符转化为字符加上字符连续出现的…

怎么给pdf文件加密?pdf文档如何加密

在数字化时代,保护个人和机密信息的重要性越来越受到关注。PDF(Portable Document Format)是一种广泛使用的文件格式,用于共享和存储各种类型的文档。然而,由于其易于编辑和复制的特性,保护PDF文件中的敏感…

Android - kotlin 获取SD卡根目录

//获取SD卡的根目录 fun getSDCardBaseDir():String{if (isSDCardMounted()) {var externalFileRootDir: File MainActivity.context.getExternalFilesDir(null)!!do {externalFileRootDir Objects.requireNonNull(externalFileRootDir).getParentFile()} while (Objects.req…

关于AndroidStudio中如何将文件拷贝至SD卡根目录问题的解决方法

在AndroidStudio的右下角有一个DeviceFileExplorer,点击打开,找到sdcard目录复制路径,然后打开cmd,切换到AndroidStudio的sdk\tools\bin输入adb push 文件名 sdcard目录路径,即可。

Android获取SD卡根目录下图片

1.获取某个目录下图片路径list [代码]java代码: 01 /** 02 * Get pictures under directory of strPath 03 * param strPath 04 * return list 05 */ 06 public List getPictures(final String strPath) { 07 List list new ArrayList(); 08 09 File file …

SD卡根文件系统

SD卡根文件系统 【1】修正无法正常从SD卡加载根文件系统 - CSDN博客 https://blog.csdn.net/yj4231/article/details/8537655 【2】ARM Linux使用SD卡根文件系统_Linux编程_Linux公社-Linux系统门户网站 https://www.linuxidc.com/Linux/2011-11/47797.htm 【3】linux系统起来后…

Android 扫描SD卡根目录的所有文件夹和音乐文件

public static List<String> musicPaths null;public String getSDPath() {File sdDir null;boolean sdCardExist Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在if (sdCardExist){sdDir Environment.ge…