问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

十进制转换为二进制的c++代码

发布网友 发布时间:2022-04-21 03:34

我来回答

5个回答

热心网友 时间:2022-06-17 18:41

C++代码写法实现如下:

1、首先定义两个整型变量,保存计算出的每位二进制数和二进制位数的统计。

2、定义一个实型变量,保存计算的十进制小数。

3、输入一个十进制小数,保存在变量d中。

4、do-while循环中,将十进制小数乘以2。

5、取十进制数的整数部分,保存在变量b中。

6、输出该位的二进制数,同时将十进制数的整数部分减掉。

7、统计二进制的位数,当它的位数达到10位后,停止计算。

8、do-while循环语句的判断条件是,十进制数是否为0。

9、测试c++程序,输入任意一个十进制小数,看是否会输出对应的二进制。

热心网友 时间:2022-06-17 18:41

十进制转换为二进制的c++代码的代码如下:

#include<iostream>

using namespace std;

void main()
{

int n,i,j=0;
int a[1000];
cin>>n;
i=n;
while(i)
{
a[j]=i%2;
i/=2;
j++;

}
for(i=j-1;i>=0;i--)
cout<<a[i];
cout<<endl;
}

扩展资料:

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

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以

得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,

如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作

为低位有效位。

参考资料:百度百科-十进制

热心网友 时间:2022-06-17 18:42

代码设计如下:

int decToBin(int dec){

int result = 0,temp = dec,j = 1;

while(temp){

result = result + j*(temp%2);

temp = temp/2;

k = k*10;

}

return result;

十进制转二进制使用方法

除二取余法,十进制转k进制的方法常用的就是除k取余的方法,这里针对这个方法,给出了C++的代码。需要注意的是,除二取余的方法,对于余数的选取是从后往前取的,所以在代码中,也要解决这个问题才行。

思路分析

模仿不停地除2的过程,每次除2之后用 % 取余数i;用 / 作为下一次除2的被除数temp;j初始化为1,每次除了2之后,j = j*10。

最终输出的结果result在每次除2的迭代中,result = i*j + result;这个从后往前取余数的方法就是不断地result = i*j + result这样,不需要使用数组等方式逆序取了。

同时,也要考虑到十进制的负数如何转化,这里就是while(temp)来解决的。在while语句中,括号内的值只要不是0就为真,这样就包含了负数的问题。

四、总结

这个方法,可以推广到十进制转k进制,需要更改的地方就是 %k 和 /k 就可以。

扩展资料:

n进制转为十进制的代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#define LENGTH 100

int main(void)

{

long t1;

int i,n,t,t3;

char a[LENGTH];    

printf ("请输入数字:\n");

gets(a);        //输入n进制数存放到数字a中

strupr(a);      //将a中的小写字母转为大写字母

t3=strlen (a);  //求出数组a的长度

t1=0;

printf ("请输入进制数(2 or 8 or 16):\n");

scanf ("%d",&n); //输入的是几进制数

for (i=0;i<t3;i++)

{

if (a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>=n) //判断输入数与进制数是否相符合

{

printf ("输入错误.\n");

exit (0);       //退出程序

}

if (a[i]>='0'&&a[i]<='9')  //判断是否为数字

{

t=a[i]-'0';

}

else if (n>=11&&(a[i]>='A'&&a[i]<='A'+n-10)) //判断是否为字母

t=a[i]-'A'+10;  //求出字母所代表的十进制数

t1=t1*n+t;       //求出最终转换成的十进制数

}

printf ("十进制数是:%ld\n",t1);  //打印结果

system ("pause");

return 0;

}

参考资料:百度百科-十进制转二进制

热心网友 时间:2022-06-17 18:42

举例说明:

1、方法一

int decToBin(int dec){

int result = 0,temp = dec,j = 1;

while(temp){

result = result + j*(temp%2);

temp = temp/2;

k = k*10;

}

return result;

}

2、方法二

#include<stdio.h>

#define MAX 32

int main(void)

{

int i=0,n,a[MAX];

printf("请输入一个十进制整数:\n");

scanf("%d",&n);

while (n>0)   //循环过程的始终,判断n是否能被2除尽

{

a[i] = n%2;   //用数组存储每次除以2之后的余数,即断定奇偶性,对应二进制位上数值

i = i+1;

n = n/2;

}

printf("十进制整数转换为二进制数是:\n");

for(; i > 0; i--)

printf("%d",a[i-1]);

printf("\n");

return 0;

}

扩展资料

十进制和二进制间的转化:

1、二进制数的运算公式:0+0=0  0*0=0    0+1=1  0*1=0   1+0=1  1*0=0   1+1=10  1*1=1 

2、十进制转换二进制:讲十进制整数换成二进制整数时,只要将它一次一次发被2除,得到的余数从最后一个余数读起。

3、二进制数转换成十进制数:讲一个二进制数的整数换成十进制数,只要将按权展开。

例如:11011=1**24(2的4次方)+1*23(2的3次方)+0*00(2的2次方)+1*21(2的一次方)+1*20(2的0次方)=27

热心网友 时间:2022-06-17 18:43

#include <iostream>//将十进制转为二进制,并输出其中1的个数。

using namespace std;

int main()

{

int t,n,a[100];

int i,k,j;

cin>>t;

while(t--)//控制多组输入

{

i=j=0;

cin>>n;

while(n!=0)//该循环将十进制转为二进制并存入数组a

{

a[i++]=n%2;

n/=2;

}

for(k=i-1;k>=0;k--)//倒序输出二进制

{

if(k==i-1)cout<<a[k];

else cout<<" "<<a[k];

if(a[k]==1)j++;

}

cout<<endl;

cout<<j<<endl;//输出1的个数

}

return 0;

}

扩展资料

void ten_to_two( int n )

{    int i , j ;    int a[1000] ;    memset( a , 0 , sizeof(a) ); // 一定要记得每次运算前将a数组清零

i = n ;

j = 1 ;    while(i){

a[j] = i & 1 ; //取最后一位

i >>= 1 ; //除以2

++ j ;

}    for( i = 7 ; i >= 0 ; -- i ) // 将结果呈八位数输出 倒序!

//(如果想输出本来位数的话就把 7 改成 j - 1 就ok啦)

cout << a[i] ;    cout << endl ;

}

参考资料:百度百科 进制转换

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑分辨率设置多少合适笔记本电脑分辨率多少最佳 各尺寸笔记本电脑的最佳分辨率 2022年高考480到510分能上山东科技大学吗 朋友借了我一万块钱,现在坐牢了怎么还钱? 天王星和海王星虽然看似一对姊妹星,但还是有区别 ...值得收藏吗?现在分别只都多少钱,照片上有一个铜币的 谁能告诉我这是一枚什么样的铜币,值不值钱? 有谁知道这铜币值不值钱,懂家告诉我一下!谢谢 有谁知道这个铜钱的来历 可以进行异地公积金贷款吗 单片机十进制转二进制的程序 请用一个很简单的C语言程序:十进制转换为二进制。 十进制转二进制程序 失业保险金可以领取多少钱一个月 如何申请进出口资质 出口商检单是什么,怎么办理? 失业金一个月能领多少钱? 单一窗口怎么打印出口退税联 有谁知道上海可以快速办理进出口权的流程 失业了一个月能领多少钱失业保险金 在上海如何申请进出口经营权 什么是国际贸易“单一窗口”? 上海如何办理进出口许可证 想问岳阳市现在的失业金多少钱一个月 上海如何办理进出口权的申请? 上海进出口贸易流程是什么? 404 Not Found 失业金一个月能领取多少钱 上海如何办理进出口权 办理进出口资质 编写一个把十进制数转换为二进制数的程序 一道c语言编程题,将十进制转换为二进制 编一程序把键入的十进制数转换成二进制 c语言编写一个程序,将十进制整数n 转换成二进制数 如何用C语言编写一个程序? 用java写一个 十进制转为二进制的程序 C语言中十进制转换成二进制的程序 求一将十进制转为二进制的程序 把十进制123,转换成二进制。需要过程。谢谢 用C语言编程实现十进制转化为二进制 如何利用c语言编写程序将一个十进制数转换为二进制? 十进制转换二进制的C程序 C语言如何写十进制转二进制的程序 如何用c语言编写将十进制的数转换成二进制数的程序 宏代表什么意思? 宏是什么意思啊? iphone怎么恢复出厂设置,步骤是什么。 怎么强制恢复出厂设置iphone 苹果11pro max怎么恢复出厂设置 怎么把iphone还原出厂设置