第十三周-输入一个整数,要求输出对应的二进制形式。

/*02.* 程序的版权和版本声明部分
03.* Copyright (c)2013, 烟台大学计算机学院学生
04.* All rightsreserved.
05.* 作    者:王洪海
06.* 完成日期:2013  年11  月 24 日
07.* 版本号: v1.0
08.*
09.* 输入描述:无
10.* 问题描述:输入一个整数,要求输出对应的二进制形式。
11.* 程序输出:
 问题分析:采用递归的方法……
*/
#include <iostream>
using namespace std;
int dec2bin(int n);
int main()
{
  int n;
  cout<<"请输入一个整数:";
  cin>>n;
  cout<<n<<"对应的二进制形式为:";
  dec2bin(n);
  cout<<endl;
}
int dec2bin( int n)
{
    if(n%2==1)
      cout<<0;
    else
      cout<<1;
    if(n>1)
      return dec2bin(n/2);
}

运行结果,如图:


### 回答1: 好的,这个问题我可以回答。你可以使用内置的oct函数将十进制整数转换为八进制数。具体的Python代码如下: ``` decimal_num = int(input("请输入一个非负整数:")) octal_num = oct(decimal_num) print("对应的八进制数为:" + str(octal_num)) ``` 你输入一个非负整数,然后程序会将其转换为对应的八进制数并输出。 ### 回答2: 对于输入的任意一个非负十进制整数,可以通过以下步骤打印输出与其等值的八进制数: 1. 首先,将输入的十进制数除以8,得到商和余数。商表示当前位的数值,余数表示当前位的值。 2. 输出余数,作为八进制数的最低位数。 3. 将商作为新的十进制数,重复步骤1和2,直到商为0为止。 举例说明,假设输入的十进制数为85,按照上述步骤输出对应的八进制数: 1. 第一步,将85除以8,商为10,余数为5。输出5作为第一位。 2. 第二步,将商10除以8,商为1,余数为2。输出2作为第二位。 3. 第三步,将商1除以8,商为0,余数为1。输出1作为第三位。 所以,85的八进制表示为125。 总结起来,我们可以通过连续除以8,每次取余数来得到八进制数的每一位,并按照从低位到高位的顺序输出。这样就能够实现将任意非负十进制整数转换为八进制数,并打印输出。 ### 回答3: 对于输入的任意一个非负十进制整数,我们可以使用除以8的余数来逐步得到其八进制表示。 具体的步骤如下: 1. 将输入的十进制整数除以8,得到的商保存下来。 2. 将得到的余数作为输出的八进制数的最低位数。 3. 如果商大于0,则将商作为新的十进制整数,重复步骤1。 4. 如果商等于0,则输出结束。 例如,对于输入的整数39,我们有: 39 / 8 = 4 ... 7,所以八进制数的最低位数是7。 4 / 8 = 0 ... 4,所以八进制数的次低位数是4。 输出结果即为47,其中4是十进制数39的八进制表示中的个位数,7是十进制数39的八进制表示中的十位数。 这样,我们可以通过循环来得到整个八进制数,直到商为0,将每次得到的余数拼接起来即可。 需要注意的是,如果输入的十进制整数本身为0,则输出的八进制数也为0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值