一个C++十进制转换二进制的算法。思路流程图应该怎样写?

#include
#include
#include
#include
using namespace std;

string s;
int main(int argc,char * argv[])
{
int n;
while(cin>>n)
{
if(n==0)
{
cout<<" 0-->0\n";
continue;
}
s=" ";
for(int a=n;a;a=a/2)
{
s=s+(a%2?'1':'0');
}
std::reverse(s.begin(),s.end());
const char *sss=s.c_str();
cout.width(11);
cout<-":"-->")<<sss<<"\n";
}
system("pause");
return 0;
}

这是算法。想知道思路是什么样的,流程图应该怎么画

0

1个回答

图片说明

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
十进制转二进制流程图
十进制转二进制流程图 新手开始做流程图,有的没有学过的,刚拿到手里很茫然。。就像我一样。。。到处找,人家都只给你源代码。。。我们又还没入门,看都不懂,有和我一样需要的新手可以下来看看。
一个C++十进制转换二进制的算法。思路流程图应该怎样写?
#include n#include n#include n#include nusing namespace std; nnstring s; nint main(int argc,char * argv[]) n n int n; n while(cin>>n) n n if(n==0) n n cout<<" 0-->0\n"; n continue; n n s=" "; n for(int a=n;a;a=a/2) n n s=s+(a%2?'1':'0'); n n std::reverse(s.begin(),s.end()); n const char *sss=s.c_str(); n cout.width(11); n cout<-":"-->")<
顺序栈应用(十进制转换为2进制)
#include #define Stack_Size 50//定义数组大小 typedef int StackElemType;//重命名 int 类型(以下操作数为int型,通过该语句可以随意改变所要操作的数据类型) typedef struct { StackElemType elem[Stack_Size];//顺序栈存储空间 int top;//栈顶元素下标,第i个元素下标为i -
【栈】十进制转换成二进制的过程及算法实现
思想过程: 首先输入一个十进制的数e,然后让这个十进制的数字一直除以2,如果e/2!=0时,把e%2压入栈中,并且令e=e/2,然后继续循环。当e/2==0时,把e的值放入栈中。然后把栈中的元素输出出来,即为所求得的二进制的数。 算法实现: #include #include #define ERROR 0 #define OK 1 #define STACK_INT_SIZE 10
用顺序栈实现十进制转二进制(c语言)
#include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #define M 100 typedef int ElemType; typedef struct { ElemType data[M]; int top; }Stack; //初始化栈 void InitStack(Stack *s) { s-&amp;gt;top = -1; } int...
C语言实现十进制数转二进制数的算法
因为C语言的printf函数的格式化输出只支持八进制和十六进制的输出,所以二进制需要自己实现。 这其中有几个难点,一是算法,二是数据结构。可以用二不断除被除数取余数,倒序输出,还可以像我这么想,用位运算和移位操作进行输出,因为本身在内存中就是二级制的形式存放的,可以直接操作位。 算法描述: 1.对十进制数与1与操作,结果为二进制数的末位,保存到数组 2.对十进制数进行右移操作,保存在临时变...
用C语言程序实现十进制转换为二进制
题目: 写一个函数,输入一个10进制数,输出它的2进制,例如:输入9,输出1001 思路: 十进制数转换为其他进制时,转换成几进制就除以几进制求余。 代码: #include &quot;stdio.h&quot; #define N 100 int main() { int n, a[N]; int i = 0; printf(&quot;请输入十进制数n:&quot;); scanf_s(&quot;%d&quot;, &amp;amp;n...
二进制十进制转换算法
2进制转10进制,10进制转2进制 //2进制转10进制: 按权相加 public static double binary2decimal(String binaryStr) { String[] binaryArr = binaryStr.split(&quot;\\.&quot;); String integer = binaryArr[0];// 整数部分 ...
算法笔记 — 进制转换(大数运算-十进制转二进制)
  题目链接:http://www.codeup.cn/problem.php?cid=100000579&amp;amp;pid=2 题目描述 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。 输入 多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数) 输出 每行输出对应的二进制数。 样例输入 985 ...
8位二进制转化为10进制(适用于正数)
(上图中)上面为x进制转化为10进制的原式,该式需要n*(n+1)/2次乘法,若将其转换为下式,则只需要n次乘法。#include &amp;lt;algorithm&amp;gt; #include &amp;lt;string.h&amp;gt; #include &amp;lt;iostream&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;string&amp;gt; #include &amp;lt;ve...
小朋友学C语言(23):二进制与十进制之间的转换
在学本节之前,请先复习 小朋友学C语言(17):二进制一、二进制转换为十进制的C语言代码#include <stdio.h> #include <string.h>int binary2decimal(char str[]) { int sum = 0; int j = 1; int pos = strlen(str) - 1; for(; pos >= 0; pos
C语言,进制转换之二进制转十进制,完整代码
#include "iostream" using namespace std; #define MAX 50 int main()//二转十 { cout << "请输入二进制数,并以‘$’结束:"; char elem2[MAX]; int flag = 1; char ch; int i = 0; while (flag) {
C++/C语言中十进制转二进制的常见方法
        用一个算法实现十进制数向二进制数转换,我们考虑得到7的二进制表示,奇数的二进制形式最后一位肯定是1,而偶数的二进制最后一位肯定是0。可以通过7%2来计算二进制最后一位数是0或者1。即对于十进制整数n而言,二进制表示的最后一位肯定可以用n%2计算出来。而为了得到二进制倒数第二位上的数字,则需要把十进制数除以2,这种对于十进制数的计算相当于把该数值的二进制位向左移了一位(可以类比计算一...
使用堆栈实现十进制转换成二进制
计算十进制转换成二进制的方式非常类似堆栈的后进先出的方式(LIFO),所以可以使用下面的代码实现#include <stdio.h> #include <stdlib.h> #include <malloc.h>#define SIZE_INTI_STACK 100 //确定栈的初始长度 #define SIZE_OF_NEW_STACK 10 //确定栈每次延展的长度 #define true
10进制转为2进制,两种方法。。。
/*     输入一个整数,输出其二进制形式     Design By leewong */ #include #include int printBinary(int a) {     //将这个整数转为二进制形式          //求出二进制位数     int size = sizeof(a)*8 - 1;     while (size >= 0)
十进制整数(包括负数)和二进制的转换
原码:符号位+n位数值位反码:将原码的符号位不变,其余位取反补码:反码+1=补码正数的原码、反码、补码都相同一、十进制整数转换为二进制数采用除2取余的方法:1.用2去除十进制整数,得到一个商数和一个余数;2.再用2去除新得到的商数,又会得到一个商数和余数;3.反复进行直到商数为0为止;4.把最后得到的余数作为二进制数的最高位5.把最先得到的余数作为二进制的最低位6.依次排列即可得到结果#inclu...
C语言实现二进制转换十进制
一个用C语言实现二进制转十进制的方法,有详细代码说明与源代码,可以直接COPY运行。
十进制转为二进制以及二进制转为十进制算法
十进制转为二进制基于Javascript语言<script> var n=15; //十进制转二进制 function fn(n){ var str=''; while(n !=0){ str+=n%2; n =Math.floor(n / 2); } return str.split('').reverse().join('') ;
C语言二进制转十进制的技巧性方法
简单的十进制与二进制之间的转化就不说了,大家应该都懂,网上也有很多的类似的文章,自己都可以搜到,今天想说的是一种新方法,或许大神们已经知道,但是我还不是很了解,想记录一下这个巧方法。很简洁但很巧妙的方法。int readint(int a) //a 是传入二进制位数 { int sum = 0; while (a--) { sum *=2;
算法设计-利用栈把十进制转换成二进制
十进制转换成二进制 void conversion(){ InitStack(S); scanf(“%d”,n); while(N){ Push(S,n%2) n=n/2; } while(!StackEmpty(S)){ Pop(S,e); printf(“%d”,e); } }//conversion
C/C++:十进制转为二进制(n进制转为十进制)
I. 十进制转换为二进制1.在二进制中,奇数的末尾一定是1,而偶数的末尾一定是0. 一般而言,对于数字n,其二进制的最后一位是n%2;这里值得注意的是,计算的第一位数字其实是待输出的二进制数的最后一位,(所以这里可以定义一个数组来存放二进制数0或1;当然也可以采用函数递归来实现);要获得下一位数字,必须把原数字除以2。如果计算结果是偶数,那么二进制的下一位数就是0;如果是奇数,就是1.把上面的话
c语言十进制转二进制两种方法
void fun25(void) {     int i, j, num;     unsigned ask = 0x8000; scanf(&quot;%d&quot;, &amp;amp;num); //方法一 for (i = 0; i &amp;lt; 16; i++) { printf(&quot;%d&quot;, (num &amp;amp; ask) ? 1 : 0); ask...
C语言实现十进制数转换为二进制数
C语言栈的方式实现十进制数转换为二进制数,完整代码,DEVC中直接使用
二进制转十进制,十进制转二进制的算法
  二进制转十进制,十进制转二进制的算法 十进制转二进制:  用2辗转相除至结果为1  将余数和最后的1从下向上倒序写 就是结果  例如302  302/2 = 151 余0  151/2 = 75 余1  75/2 = 37 余1  37/2 = 18 余1  18/2 = 9 余0  9/2 = 4 余1  4/2 = 2 余0  2/2 = 1 余
c十进制转化二进制(递归)
#include <stdio.h>void zhuanhuan(int i){ int b; b = i%2; if(i<2){ printf("%d",b); }else{ i = i/2; zhuanhuan(i); printf("%d",b); } }int main(void){
十进制数和二进制数之间的转换
                十进制转换为二进制数需要利用除k取余法,其中有循环和递归二中算法,下面看一下代码:递归版:#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;string.h&amp;gt; #include&amp;lt;math.h&amp;gt; //将一个十进制的数转换成一个二进制的数 void chu_k(int a,cha...
十进制整数转化为二进制详解
要想编写十进制转化成二进制的带码首先要清楚十进制转化成二进制的算法,下面我们从两个方面实现这个转化: 1.按照十进制转化成十进制的常规算法实现: 废话不多说直接上图:
位移:十进制转二进制 算法
public class MoveStep { public static void main(String[] args) { //原始数二进制 int number = 5; printInfo(number); //左移一位 :10 number = number &amp;amp;lt;&amp;amp;lt;...
递归将十进制转换二进制
Java十进制转二进制,递归算法
//用递归算法求一个int的二进制字符串;//思路是:递归最简单情况(递归出口)是0和1;其余的是先调用递归算出n/2的二进制字符串,然后加上n时的位数(n % 2);import java.util.Scanner; public class WriteBinary { public static String writeBinary(int n){ String binary = "";
十进制与二进制之间的转换(栈与队列的应用)
本文章只为学习栈和队列。请勿用于其他用途。 一、         实验环境   VC6.0   二、         实验目的   设计实现十进制数与二进制数的数制转换程序,要求进行某种数制转换后,输入相应的格式的数值(可以是混合小数的形式),给出相应进制的数值。熟练掌握队列相关操作、   三、         实验内容 1. 用C语言实现队列的存储结构(循环队列
十进制转换为二进制的简便算法
/***************************************************************十进制转换为二进制的简单算法***************************************************************/ #include #include //用来包含setfill和setw方法.using namespace st
C语言实现十进制转二进制
代码如下:# include <stdio.h>int main() { int i, n = 0, b[16]; scanf("%d", &i); //对十进制数的读取 for (; i; i>>=1) b[n++] = i&1; for (; n; ) printf("%d", b[--n]); //二进制数一个个输出
C语言实现十进制转换成二进制
#include  //现定义一个数组,然后把用2整除这个数,得到商和余数,再用商继续除以2,直到值为0结束循环, //然后把这些余数放在数组中,输出即可; int main() {  int n ,temp,s[100],i=0; printf("请输入一个十进制整数 N ="); scanf_s("%d",&n); while(n!=0){ temp=n%2; s[
二进制、十进制、十六进制转换的算法
这个算法不难,并且也有好多种算法的实现,今天看到一个百度知道上说的自己实现了一下,以供参考 思考:十进制数num,num % 2得到的数存放在数组list中,并且num = num / 2直到num = 0 ,得到的数组倒序输出就是我们所要得到的二进制数了 程序: public static String to_binary(int orain) { List list
c++递归实现十进制数转二进制(输入式
数据结构,递归实现十进制数转二进制数,C++实现,可多次输入数
数据结构5:利用栈实现二进制到十进制的转换
这是一个利用栈实现的实例,自己写了一下,本想
c语言十进制转二进制,八进制的最快方法
用递归!! #include &amp;amp;lt;stdio.h&amp;amp;gt; void change10_2(int n) { if (n == 0) return; else { change10_2(n / 2); printf(&amp;quot;%d&amp;quot;, n % 2); } } int main(int argc, const cha...
纯C语言:递归二进制转十进制源码
#include #include int change(int n,int *sum,int *m)//n为第n位,m总位数 { char c; if(c!='#') { *m=*m+1; change(n+1,sum,m); } if(c=='#') { return *sum=int(*sum+pow(2,*m-n)); } } void main() { cha
C语言算法之将十进制数转换成二进制数
导语:在C语言中没有将其他进制的数直接输出为二进制数的工具或方法,输出为八进制数可以用%o,输出为十六进制可以用%x,输出为二进制就要我们自行解决了。下面给大家讲述一下如何编程实现将十进制数转换成二进制数。   先将源代码展示给大家: #include &amp;lt;stdio.h&amp;gt; void main() { //进制转换函数的声明 int transfer(int x)...
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据应该学习哪些算法 怎样写数据库课程设计