以二進位格式列印正整數變數內之資料

高階程式版本

步驟一:手動計算

步驟二:安排基本流程

如下圖:

這裡有一個大問題, 位元順序全部顛倒過來了, 列印結果是 100011110111, 要解決這個問題有兩個辦法:

  1. 用陣列變數先記錄起來, 算完以後再一起列印。

  2. 用遞迴 (recursive) 的函式呼叫。

看來我們得先忍受一下倒過來看了。

步驟三:程式片段

  1. 變數:int iNumber, iDigit;

  2. scanf("%d", &iNumber);

  3. while (iNumber>0) {}

  4. iDigit = iNumber % 2;
    iNumber = iNumber / 2;
    printf("%d", iDigit);

步驟四:測試

程式設計課程 首頁
by Pei-yih Ting
E-mail: pyting@cs.ntou.edu.tw