使用遞迴將十進位制數轉換為二進位制的 Swift 程式


本教程將討論如何編寫 Swift 程式,使用遞迴將十進位制數轉換為二進位制。

十進位制數是指基值為 10 的數字。十進位制數也稱為基數 10 數字系統,包含 10 個數字:0、1、2、3、4、5、6、7、8、9。在這裡,十進位制數中每個數字的位置的權重是 10 的冪。

二進位制數是指基值為 2 的數字。二進位制數也稱為基數 16 數字系統,僅包含兩個數字 1 和 0。在這裡,二進位制數中每個數字的位置的權重是 2 的冪。

例如,(1011)2 是一個二進位制數。二進位制數是計算機裝置中最常用的數字系統,其中每個數字都由一個位元表示。

這裡我們使用遞迴將十進位制轉換為二進位制。遞迴是一個函式呼叫自身以完成指定任務的過程。

以下是相同內容的演示 -

輸入

假設我們給定的輸入是 -

Decimal Number = 10

輸出

期望的輸出將是 -

Binary number = 1010

演算法

以下是演算法 -

步驟 1 - 建立一個遞迴函式

步驟 2 - 宣告一個變數來儲存結果。

步驟 3 - 設定停止遞迴函式的基本條件。這裡基本條件是 (num != 0)

步驟 4 - 透過呼叫函式本身將十進位制數轉換為二進位制數,並返回結果。

StoreBinary = (num%2)+10*ConvertBinary(num: num/2)

步驟 5 - 宣告另一個變數來儲存十進位制數。

步驟 6 - 呼叫函式並將十進位制數傳遞給它。

步驟 7 - 列印輸出

示例

以下程式顯示瞭如何使用遞迴將十進位制數轉換為二進位制。

import Foundation
import Glibc

// Recursive function to convert decimal to binary
func ConvertBinary(num: Int)->Int{
   var StoreBinary:Int
    
   // Base condition
   if (num != 0){
    
      // Converting decimal to binary
      StoreBinary = (num%2)+10*ConvertBinary(num: num/2)
      return StoreBinary
   }
   else{
      return 0
   }
}

// Decimal Number
var decimalNum = 11

print("Decimal number is: (decimalNum)")
print("Converted binary number is: ", ConvertBinary(num
:decimalNum))

輸出

Decimal number is: (decimalNum)
Converted binary number is:  1011

在上面的程式碼中,我們建立了一個名為 ConvertBinary() 的遞迴函式。此函式透過遞迴呼叫自身將十進位制數轉換為二進位制。因此,輸入的十進位制數為 11,因此等效的二進位制數為 1011。

更新於: 2022-12-13

269 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告