HIWORD HIBYTE

#include "pch.h"
#include <iostream>
#include<Windows.h>

int main()
{
    int i = 10241035;
    WORD ih = HIWORD(i);//取高16位,变为32位
    WORD il = LOWORD(i);//取低16位
    //return:9c
    std::cout << std::hex << "i的高位" << ih << std::endl;
    //return:440b
    std::cout << std::hex << "i的低位" << il << std::endl;
    WORD bh = HIBYTE(i);//取高8位,变为16位
    WORD bl = HIBYTE(i);//取得低8位
    std::cout << std::hex << "i的高位" << bh << std::endl;
    std::cout << std::hex << "i的低位" << bl << std::endl;
    return EXIT_SUCCESS;
}

原文地址:https://www.cnblogs.com/chuxinbubian/p/10739486.html

时间: 2024-11-14 17:08:21

HIWORD HIBYTE的相关文章

HiWord()

#define HIWORD(I) ( ( WORD ) ( ( ( DWORD )( I ) >> 16) & 0xFFFF ) ). 这个宏传回一个WORD值(16位的无符号整数,范围从0到0xxFFFF). 一般用来取得LPARAM的高位(高16位),用在滚动条相关的SB_THUMBTRACK和SB_THUMBPOSITION消息中取得信息.

整型变量(int)与字节数组(byte[])的相互转换

// int2byte.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <Windows.h> /* #define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8)) #define MAKELONG(a, b) ((LONG

51单片机程序技巧

本系列文章探讨的主题都是在Keil uVision3集成编译环境下完成的,针对的是51系列单片机. 下面就介绍一下在我的单片机程序里必须要包含的一个头文件----"const.h",完整内容如下: #ifndef _CONST_H_ #define _CONST_H_ #include <intrins.h> #define TRUE 1 #define FALSE 0 typedef unsigned char BYTE; typedef unsigned int WOR

vc字符串转换处理:(绝对精华,收集所有的例子)

vc字符串转换处理:(绝对精华,收集所有的例子) 1.头文件中要定义宏; #define   UNICODE         #define   _UNICODE     //////////////////// char   buf[128];    memset(buf,0,128);     strcpy(buf,"你好");     WCHAR   pCName[128];     memset(pCName,0,128);     MultiByteToWideChar(CP

NTDLL未文档化函数RtlGetNtVersionNumbers获取操作系统版本

作为新手,对获取操作系统版本号好奇过,因为曾经假象过一个场景:如果将来在windows xp环境下编译的程序,在windows xp跑会怎样, 在windows 2003,windows 7,windows 8又会怎样,如果程序在windows 7以上版本需要特殊处理又该怎样判断操作系统版本呢. 带着这个好奇也了解过GetVersion和GetVersionEx函数,他们的最低使用需求是Windows 2000,以下是一些官方的测试代码. GetVersion function #include

VC常用数据类型使用转换

我们先定义一些常见类型变量借以说明 [cpp] view plain copy int i = 100; long l = 2001; float f=300.2; double d=12345.119; char username[]="赵三"; char temp[200]; char *buf; CString str; _variant_t v1; _bstr_t v2; 一.其它数据类型转换为字符串 短整型(int) [cpp] view plain copy itoa(i,

内核级HOOK的几种实现与应用

实现内核级 HOOK 对于拦截.分析.跟踪系统内核起着致关重要的作用.实现的方法不同意味着应用侧重点的不同.如想要拦截 NATIVE API 那么可能常用的就是 HOOK SERVICE TABLE 的方法.如果要分析一些系统调用,那么可能想到用 HOOK INT 2E 中断来实现.如果想要拦截或跟踪其他内核 DRIVER 的调用,那么就要用到HOOK PE 的方法来实现.这里我们更注重的是实现,原理方面已有不少高手在网上发表过文章.大家可以结合起来读.下面以我写的几个实例程序来讲解一下各种方法

【转载】CString、BSTR和LPCTSTR之间的区别

原文:http://www.cnblogs.com/GT_Andy/archive/2011/01/18/1938605.html 一.定义 1.CString:动态的TCHAR数组.它是一个完全独立的类,封装了+等操作符和字符串操作方法. 2.BSTR:专有格式的字符串(需要使用系统函数来操纵).定义为:typedef OLECHAR FAR* BSTR 3.LPCTSTR:常量的TCHAR指针.定义为:typedef const char* LPCTSTR 二.要点 1.char*:指向AN

Delphi 的RTTI机制浅探&lt;二&gt;

目 录===============================================================================⊙ GetTypeData 函数⊙ GetPropInfo 函数⊙ FindPropInfo 函数⊙ GetPropInfos 函数⊙ SortPropList 函数⊙ GetPropList 函数------------------------------------------------------⊙ GetObjectProp