1. 程式人生 > 其它 >2.遞迴-求一個整數(十進位制)的二進位制

2.遞迴-求一個整數(十進位制)的二進位制

#include <stdio.h>
int to_binary(int a);
int main()
{
  
  //求一個整數(十進位制)的二進位制(迴圈語句版)
  int a = 1234;
  int result;
  int shang;

  int size;
  int re;
  int b = a;
  int c = a;
  //獲取int陣列的長度
    while( ( re = b / 2 ) != 0  )
    {
        b = b / 2; 
        size++;

    }
    //printf("size: %d\n", size + 1);
int stack[size+1]; int index = 0; //將資料裝載到陣列中 while(1) { if( (shang = a / 2) == 0) { result = a % 2; //printf("%d\n",result ); stack[index++] = result; break; }else{ result = a % 2; //printf("%d\n",result ); stack[index++] = result; a
= a / 2; } } //列印陣列 printf("迴圈方式:"); for (int i = size; i >= 0; i--) { printf("%d", stack[i]); } printf("\n"); printf("遞迴方式:"); to_binary(c); printf("\n"); return 0; } int to_binary(int a) { int r = a % 2
; if(a / 2 != 0) to_binary(a / 2); printf("%d",r ); return 0; }