我使用Visual Studio 2010 x64 Process
int main()
{
long long EntryPoint = 0x13f501000;
printf("Value %x", EntryPoint);
system("pause");
}
结果值是3f501000还不是13f501000?
答案 0 :(得分:0)
您可以使用%llx
specifier with printf():
#include <stdio.h>
int main()
{
const long long EntryPoint = 0x13f501000;
printf("Value: 0x%llx", EntryPoint);
}
基本上,您可以将ll
前缀(long long
)与x
类型说明符一起使用。
命令行:
C:\Temp\CppTests>cl /EHsc /W4 /nologo test.cpp test.cpp C:\Temp\CppTests>test.exe Value: 0x13f501000
此外,由于此问题包含[c++]
标记,因此您可以考虑将std::cout
与 std::hex
一起使用:
#include <iostream>
int main()
{
const long long EntryPoint = 0x13f501000;
std::cout << "0x" << std::hex << EntryPoint << '\n';
}