📄 wm_bitio.h
字号:
// wm_bitio.h
#ifndef _WIX_WM_BITIO_H_01_
#define _WIX_WM_BITIO_H_01_
// 取log2(n)的upper_bound
int UpperLog2(int n);
// 取log2(n)的lower_bound
int LowerLog2(int n);
// 将位指针*piByte(字节偏移), *piBit(字节内位偏移)后移num位
void MovePos(int* piByte, int* piBit, int num);
// 得到字节byte第pos位的值
// pos顺序为高位起从0记数(左起)
BYTE GetBit(BYTE byte, int pos);
// 设置byte的第iBit位为aBit
// iBit顺序为高位起从0记数(左起)
void SetBit(BYTE* byte, int iBit, BYTE aBit);
// 将DWORD值从高位字节到低位字节排列
void InvertDWord(DWORD* pDW);
// CopyBits : 复制内存中的位流
// memDest - 目标数据区
// nDestPos - 目标数据区第一个字节中的起始位
// memSrc - 源数据区
// nSrcPos - 源数据区第一个字节的中起始位
// nBits - 要复制的位数
// 说明:
// 起始位的表示约定为从字节的高位至低位(由左至右)
// 依次为 0,1,... , 7
// 要复制的两块数据区不能有重合
void CopyBits(BYTE* memDest, int nDestPos,
BYTE* memSrc, int nSrcPos, int nBits);
// CopyBitsInAByte : 在一个字节范围内复制位流
// 参数含义同 CopyBits 的参数
// 说明:
// 此函数由 CopyBits 调用,不做错误检查,即
// 假定要复制的位都在一个字节范围内
void CopyBitsInAByte(BYTE* memDest, int nDestPos,
BYTE* memSrc, int nSrcPos, int nBits);
#endif // _WIX_WM_BITIO_H_01_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -