def Dec2Bin(dec): temp = [] result = '' while dec: quo = dec % 2 dec = dec // 2 temp.append(quo) while temp: result += str(temp.pop()) return resultprint(Dec2Bin(62))
十進制轉二進制 Visual Basic 2015 代碼
Private Sub 轉換進制(sender As Object, e As EventArgs) Handles btn轉換.Click If str十進制數是否合法(txt十進制數.Text) = "整數" Then MessageBox.Show(str十進制整數轉二進制(txt十進制數.Text)) ElseIf str十進制數是否合法(txt十進制數.Text) = "小數" ThenDim 整數部分 As Long = CInt(txt十進制數.Text.Substring(0, txt十進制數.Text.IndexOf(".")))Dim 小數部分 As Double = CDbl(CDbl(txt十進制數.Text) - 整數部分) MessageBox.Show(str十進制整數轉二進制(整數部分) & "." & str十進制小數轉二進制(小數部分)) Else MessageBox.Show("輸入數值不合法,請重新輸入!")txt十進制數.SelectAll()txt十進制數.Focus() End IfEnd SubPrivate Function str十進制數是否合法(ByVal str十進制數 As String) As String If IsNumeric(str十進制數) Then If str十進制數.Contains(".") Then Return "小數" Else Return "整數" End If Else Return "不是數" End If End FunctionPrivate Function str十進制整數轉二進制(ByVal lng十進制整數 As Long) As String Dim lng被除數 As Long = lng十進制整數 Dim str結果 As String Do If lng被除數 Mod 2 = 0 Then str結果 &= "0" Else str結果 &= "1" End If lng被除數 = lng被除數 \ 2 Loop Until lng被除數 = 0 str結果 = StrReverse(str結果) Return str結果 End FunctionPrivate Function str十進制小數轉二進制(ByVal dbl十進制小數 As Double) As String Dim dbl被乘數 As Double = dbl十進制小數 Dim str結果 As String Do dbl被乘數 *= 2 If dbl被乘數 >= 1 Then str結果 &= "1" dbl被乘數 -= 1 Else str結果 &= "0" End If Loop Until dbl被乘數 = 0 Return str結果 End Function
十進制轉二進制PHP代碼
function Dec2Bin($dec) { if (!is_int($dec)) return false; $bin = ''; while ($dec>1) { $bin .= $dec%2; $dec = ($dec-$dec%2)/2; } return strrev($bin.$dec);}