十进制整数转换为二进制整数  

十进制整数转换为二进制整具体算法是:用2去除十进制整数,得到一个商和余数,再用2去除商,得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位依次排列起来。

整个算法比较简单,但输出结果得逆序输出。栈具有先进后出的特点,因此我采用栈来存储余数,实现逆序输出。

源代码:

#include<iostream>
using namespace std;
const int StackSize = 1024;template <class T>
class SeqStack
{
public:SeqStack() { top = -1; }void Push(T x);T Pop();T GetTop();int  isEmpty();
private:T data[StackSize];  //需要存放的栈元素的数组int top;           //栈顶指针
};template<class T>
void  SeqStack<T>::Push(T x)      //入栈操作
{if (top == StackSize - 1)throw "上溢";top++;data[top] = x;
}template<class T>
T SeqStack<T>::Pop()      //出栈操作
{if (top == -1)throw "下溢";int x = data[top];top--;return x;
}template<class T>
T SeqStack<T>::GetTop()
{if (top != -1)return data[top];elsereturn NULL;
}template<class T>
int  SeqStack<T>::isEmpty()
{if (top == -1)return 0;elsereturn 1;
}int main()
{   int num;SeqStack<int>demo;  //创建存储余数的栈cout << "请输入一个十进制的数字:";cin >> num;while (num != 0){demo.Push(num % 2);num /= 2;}cout << "该数的二进制形式为:";while (demo.isEmpty()){cout << demo.Pop();}cout << endl;return 0;
}

实验截图:

输入输出:

校验:

实验总结与个人心得:

本次实验涉及的算法相对简单,栈结构的实现代码也很大程度上借鉴课本,实验过程顺利,并没有遇到过多错误。

实验三:十进制转换成二进制数(顺序栈)相关推荐

  1. 十进制转换成二进制 (栈)

    十进制转换成二进制 (栈) 首先,转化的思路是 辗转取余法.比如说n = 5,先取模(5%2)获得1,然后取余并将其赋值给本身,得到n = 2:再取模得到0,取余之后n = 1:对1取模(1%2)得到 ...

  2. java十进制转换成二进制数

    1.十进制转成二进制String s = Integer.toBinaryString(n) //将十进制数转成字符串,例如n=5 ,s = "101"2.将字符串转成整形int ...

  3. C语言算法之将十进制数转换成二进制数

    导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出为八进制数可以用%o,输出为十六进制可以用%x,输出为二进制就要我们自行解决了.下面给大家讲述一下如何编程实现将十进制数转换成二进 ...

  4. 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制

    题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...

  5. java实现十进制数转换成二进制数

    十进制数转换成二进制 import java.util.Scanner; public class Textwile { public static void main(String[] args) ...

  6. c++第二周任务一*(1‐1)编写递归函数将十进制数转换成二进制数输出。

    /任务一 /*(1‐1)编写递归函数将十进制数转换成二进制数输出. * 算法说明: */ #include <iostream> using namespace std; void d2b ...

  7. 将十进制数转换成二进制数(C语言)

    C语言--将十进制数转换成二进制数 方法:除 2 取余,逆序排列 原理:用 2 整除十进制整数,可以得到一个商和余数:再用 2 去除商,又会得到一个商和余数,如此进行,直到商为小于 1 时为止,然后把 ...

  8. 【数制转换】-十进制数转换成二进制数

    第一部分:整数转换   逐次除2取余法 用2逐次去除待转换的十进制整数,直至商为0时停止:每次所得的余数即为二进制数码,先得到的余数在低位,后得到的余数排在高位. 例子1: 将83转换成二进制数(逐次 ...

  9. c语言编写一个程序,将一个十进制数转换为二进制数,c语言编写一个程序,将十进制整数n 转换成二进制数...

    #include int transfer(int x) { int p=1,y=0,yushu; while(1) { yushu=x%2; x/=2; y+=yushu*p; p*=10; if( ...

最新文章

  1. 第一次作业+105032014116
  2. 在C#中如何在客户端接收信件
  3. 中用BBP公式计算_【真课堂】7年级信息技术:数据计算
  4. wxWidgets:C++ 异常
  5. WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析
  6. 格式说明_ISO11784/85 FDX-B动物芯片格式写码说明
  7. java getselecteditem_java – 将getSelectedItem()从JComboBox转换为int或任何其他东西
  8. qt 对话框关闭以及自动释放内存
  9. 随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比...
  10. ln -s命令 linux_浅谈linux中ln命令,附带案例
  11. [perl]字符串转拼音首字母(支持多音字)
  12. Debian - NFS搭建 + 测试
  13. 润乾报表连接mysql_润乾报表与DERBY数据库的创建连接详解
  14. Linux开机启动流程详细步骤是什么?
  15. 数字图像处理学习 matable
  16. 配置React-Native开发工具——WebStorm下载、激活与配置
  17. ZZULIOJ1026
  18. webservice 框架比较
  19. IDEA安装及破解永久版教程————鹏鹏
  20. input 起止时间_几种常用的控件(下拉框 可选框 起止日期 在HTML页面直接读取当前时间)...

热门文章

  1. 阿里达摩院发布的2020十大科技趋势
  2. aau和fairy ape模拟精灵的关系
  3. python 双精度浮点数_python怎么输出浮点数?
  4. 手机网页开发简单总结
  5. AngularJS 核心概览
  6. [HTC Vive + Unity开发]——VRTK的研究——用手柄旋转物体(使用VRTK_Knob脚本)
  7. Maven项目报错:“Plugin execution not covered by lifecycle configuration”解决过程
  8. Android开发冷启动解决方案 实现秒开
  9. oppo37位置服务器,oppoa37如何切换存储位置
  10. 判断请假时间去除周末及节假日