Emu*_*tor 2 c++ mfc hex visual-c++
我正在尝试计算十六进制数中可用的位数。例如:0x00000001应将计数返回为8。
谁能建议最有效的方法是什么?我尝试将其转换为 aCString并使用 ' ' 获取长度GetLength(),但这似乎在这里不起作用。
编辑:抱歉,如果我忘记提及,我存储十六进制数字的变量是无符号短整型。
尝试过这个:
unsigned short number;
CString HexValue;
HexValue.Format("%.8x",number); // number = 0000000000000000, 16 0's
HexValue = "0x" + HexValue;
int length = HexValue.GetLength() - 2; // returns an 8 here
Run Code Online (Sandbox Code Playgroud)
n由于每个字节包含两个十六进制数字,因此尝试使用整数类型的变量
sizeof(n)*CHAR_BIT/4
Run Code Online (Sandbox Code Playgroud)