C++中十进制如何转换为八进制和十六进制

[复制链接]
查看11 | 回复0 | 2015-9-22 16:18:01 | 显示全部楼层 |阅读模式
// aa.cpp : Defines the entry point for the console application.
//
#include"stdafx.h"
#include
#include
using namespace std;
const int MaxStackSize=50;
//栈的大小,即栈中元素的最大个数
//类的声明
template
class Stack
{
private:
T stacklist[MaxStackSize]; //数组,用于存放栈的元素
int top;
//栈顶位置(数组下标)
public:
Stack (void);
//构造函数,初始化栈
void Push(const T& item);
//将元素item压入栈
T Pop (void);
//将栈顶元素弹出栈
void ClearStack(void);
//将栈清空
T Peek (void) const;
//访问栈顶元素
int StackEmpty(void) const;//测试是否栈满
int StackFull(void) const; //测试是否栈空
};
//类的实现
template
Stack::Stack (void):top(-1)
//构造函数,栈顶初始化为-1
{
}
template
void Stack::Push (const T& item)//将元素item压入栈
{
if(top==MaxStackSize-1)
//如果栈满,程序终止
{
std::cerr
T Stack::Pop (void)
//将栈顶元素弹出栈
{
T temp;
if(top==-1)
//如果栈空,程序终止
{
std::cerr
T Stack::Peek (void) const
//访问栈顶元素
{
if(top==-1)
//如果栈空,程序终止
{
std::cerr
int Stack::StackEmpty (void) const//测试栈是否空
{
return top==-1;
//如果栈空则返回TRUE,否则返回FALSE
}
template
int Stack::StackFull (void) const //测试是否栈满
{
return top==MaxStackSize-1;
//如果栈满则返回TRUE,否则返回FALSE
}
template
void Stack::ClearStack (void)
//清空栈
{
top=-1;
}
void main()
{

Stack myStack;
int i,j=0;
cin>>i;
while(i!=0)

{myStack.Push(i%8);

i=i/8;

j++;

}
//while(i!=NULL)
for(j;j>=0;j--)
{
cout 16 进制
int nDec = 10;
CString str;
str.Fomat(_T("%x"), nDec);十进制转换为八进制:先将十进制转化到2进制,再由2进制到8进制//...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行