实验C—5 任意十进制数转化为二进制
2017-10-16 22:51
176 查看
设计思路:
十进制转二进制无非相除取余,然后余数倒序输出,即为先进后出,应该使用栈。
代码:
#include<iostream>
using namespace std;
class Translate {
int data;
Translate *next, *top;
public:
Translate() { top = NULL; }
void push(int);
void pop();
};
void Translate::push(int x) {
Translate *p = new Translate;
p->data = x; p->next = top; top = p;
}
void Translate::pop() {
Translate *p = new Translate;
while (top)
{
p = top;
cout << top->data;
top = top->next;
delete p;
}
}
void main() {
int n; Translate p;
cout << "输入十进制数:" << endl; cin >> n;
while (n != 0)
{
p.push(n % 2);
n /= 2;
}cout << endl;
cout << "二进制数为:";
p.pop();
cout << endl;
}实验测试图:
十进制转二进制无非相除取余,然后余数倒序输出,即为先进后出,应该使用栈。
代码:
#include<iostream>
using namespace std;
class Translate {
int data;
Translate *next, *top;
public:
Translate() { top = NULL; }
void push(int);
void pop();
};
void Translate::push(int x) {
Translate *p = new Translate;
p->data = x; p->next = top; top = p;
}
void Translate::pop() {
Translate *p = new Translate;
while (top)
{
p = top;
cout << top->data;
top = top->next;
delete p;
}
}
void main() {
int n; Translate p;
cout << "输入十进制数:" << endl; cin >> n;
while (n != 0)
{
p.push(n % 2);
n /= 2;
}cout << endl;
cout << "二进制数为:";
p.pop();
cout << endl;
}实验测试图:
相关文章推荐
- 将十进制数转化为二进制
- 将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
- 第二周实验报告1:编写递归函数将十进制数转化成二进制数
- 输入一个十进制数,转化为二进制
- (第二周实验报告1-2)运用数组实现十进制转化为二进制
- 任意长度的十进制数转为二进制、十六进制,和大数除法算法(只有小半份)
- 任意数二进制转化
- C之有趣-将十进制数转化为任意(2---16)进制
- 格雷码到普通十进制数二进制表示的转化
- 求一个十进制数转化成二进制后bit为0或1的个数
- 任意255以内的十进制数转化为16进制数
- 十进制数转化成二进制后包含一的数量(c++)
- 十进制数转化为任意进制
- 格雷码到普通十进制数二进制表示的转化
- 任意二进制文件和十六进制相互转化工具
- 任意255以内的十进制数向二进制数的转化
- 任意255以内的十进制数向二进制数的转化
- 《第二周实验报告1-1》---递归函数将十进制数转换成二进制
- 十进制数转化为任意进制数
- 计算十进制数转化成二进制时1的个数