将十进制转换成二进制输出,递归写法

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void binary_num(int, int);
int main( int argc, char* argv[] )
{

    int a = 30;
    binary_num(a, sizeof(a) * 8);

    printf("\n");
    system("pause");
    return 0;
}

void binary_num(int a, int i)
{
    if (i > 1)
        binary_num(a >> 1, --i );
    if (a & 1)
        printf("1");
    else
        printf("0");
}    
时间: 2024-10-14 22:02:06

将十进制转换成二进制输出,递归写法的相关文章

递归代码将十进制转换成二进制输出

这段代码将十进制转换成二进制输出,代码很简洁干练 #include<stdio.h> #include<string.h> void DtoB(int n) {  if(n)  {   DtoB(n/2);   printf("%d",n%2);  } } int main() {  int n;  scanf("%d",&n);  DtoB(n);  return 0; }

十进制转换成二进制以 二进制转换成 8进制和16进制

十进制转换成二进制 举例:752(十进制数) --> 转换成 二进制数 从下往上 读取数据 二进制数为 : 011110000 2.二进制转换成8进制 (开头用 0 表示) 111 -> 表示的十位数 为 7,也是 8进制 每位上 最大的数字 011110000 转换为  8进制 ,从右到左  ,三位 隔开      011-110-000 , 3.二进制转换成16进制(开头用0x表示) 与 二进制转换 大体相同,区别在于 , 在二进制数中,每四位数隔开 ,再分别计算 得到十进制 ,再 进行

C 利用移位运算符 把十进制转换成二进制

#include <stdio.h> int main(void){ //利用移位运算符 把十进制转换成二进制 int c; printf("输入数字:");//8 scanf("%d",&c); //最高位和次高位都要移动到最低位 //补码:00 0000 1000 //逻辑右移>>:00 0000 1000 //printf("%d",8<<2);return; int i = sizeof(c)*

十进制转换成二进制列表

a = [[1, 2, 3, 4, 5, 6]] 转换后: z = [[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.], [ 0., 0., 0., 0., 0., 0., 0., 0., 1., 0.], [ 0., 0., 0., 0., 0., 0., 0., 0., 1., 1.], [ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.], [ 0., 0., 0., 0., 0., 0., 0., 1., 0., 1.],

用Java把十进制转换成二进制

第一种方式是用循环去做: public class Test { public static void main(String[] args) { int a = 8; // 要转换的十进制 String ejz = ""; for(; a != 0; a /= 2) { ejz = a % 2 + ejz; } System.out.println(ejz); } } 第二种方式是用递归: public String ejz(int n) { int tmp = n % 2; if(

Question20180128 十进制转换成二进制浮点数

如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加. 以 20.5 转换为例,20转换后变为10100:0.5  要转换二进制,需要乘2, 乘完之后 取整数部分,然后用乘的结果减去整数部分, 然后接着乘2, 直至最后没有小数或者小数出现循环,  即乘完.如果等于0, 就取前面不为0的部分. 0.5 * 2  = 1.0 (取1) 0 * 2 = 0   (0) 所以,  转换后 0.5 = 0.1

十进制转换成其它进制的通用写法(查表法)

 //十进制转换成其它进制的通用写法(查表法)  class Transform  { public static void main(String[] args) {    toHex3(60);    System.out.println();    toOctal2(20);    System.out.println();    toBinary2(6); }  public static void toAny(int num,int base,int offSet)  {   char

python 十进制转换成任意进制

记得大学时代,参加学校举行的编程大赛,其中有道题是: 编写一函数,实现十进制转换成十六进制. 看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情:时隔五六年了,工作中一直是用java,最近学习python,所以突然想到这个问题,就用python来实现这道题.下面使用两种方法分别实现: 一.循环 def decimalToNBaseByNormal(decimalVar, base): tempList = [] temp = decimalVar

java将图片转换成二进制

package com.oumyye.图片; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import sun.misc.BASE64Decoder; impor