32=2*16^1+0*16^0,所以32的16进制为20.
把307(10进制)转换为16进制:
307/16 = 19 余数为3
19/16 = 1 余数为3
对应的16进制数应该是:133
就是这样求余 再除16,知道某次除16的商小于16,将得到的数逆向输出即可,这里用到的事栈的先进后出性质.
另外 16进制中10 15 依次用A F表示
#include
using namespace std;
void convert(int n,int r);
int stack[100],top=-1;
void main()
{
int n;
cout > n;
if (n>=1)
convert(n,16) ;//将n转换为16进制输出
else
cout =16)
{
top++;
stack[top]=k%16;
k=k/16;
}
top++;
stack[top]=k;
cout