【发布时间】:2014-05-24 16:33:04
【问题描述】:
我想让一个数字出现在十六进制字母中,但我不知道怎么做。
例如我使用了数字 255.我希望数字显示为“FF FF”,但它显示为“15 15”
数字是我要转换的数字
base 是所需的字母表(bin、dec、oct、hex)
str 是带数字的表格
digits 是我有多少位数
# include <iostream>
using namespace std;
class Number
{
private:
int number;
int base;
int str[80];
int digits;
void convert();
public:
Number(int n);
Number(int n,int b);
printNumber 打印数字
void printNumber();
};
convert是转换数字的函数
void Number::convert()
{
int icount=0;
int x=number;
while(x!=0)
{
int m=x % base;
x=x/base;
str[icount]=m;
icount=icount+1;
}
digits 数我的位数
digits=icount;
}
此函数用作基本 dec
Number::Number(int n)
{
number=n;
base=10;
convert();
}
此函数使用整数 b 作为基数
Number::Number(int n,int b)
{
number=n;
base=b;
convert();
}
void Number::printNumber()
{
int i;
for(i=digits-1;i>=0;i--)
cout<<str[i]<<" ";
cout<<endl;
}
int main()
{
Number n1(255);
Number n2(254,16);
n1.printNumber();
n2.printNumber();
std::cout << "Press ENTER to continue...";
std::cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );
return 0;
}
【问题讨论】: