进制转换问题
建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换。
输入
输入只有一行,就是十进制整数。
输出
转换后的二进制数。
样例输入
10
样例输出
1010
十进制怎么转为二进制?十进制转二进制怎么转? |
---|
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来 |
利用栈的后进先出性质写一个10到2进制转换的小程序,实现顺序栈,代码如下:
#include<bits/stdc++.h>
typedef struct Stack
{
int data[100];
int top;
}SqStack;
//建立顺序栈
void Init(SqStack *&s)
{
s=(SqStack *)malloc(sizeof(SqStack));
s->top=-1;
}
//栈的初始化
bool En(SqStack *&s,int e)
{
if(s->top==99)
return false;