Πρόγραμμα Kotlin για τη μετατροπή δυαδικού αριθμού σε δεκαδικό και αντίστροφα

Σε αυτό το πρόγραμμα, θα μάθετε να μετατρέπετε δυαδικό αριθμό σε δεκαδικό αριθμό και αντίστροφα χρησιμοποιώντας συναρτήσεις στο Kotlin.

Επισκεφθείτε αυτήν τη σελίδα για να μάθετε πώς να μετατρέψετε τον δυαδικό αριθμό σε δεκαδικό.

Παράδειγμα 1: Πρόγραμμα μετατροπής δυαδικού αριθμού σε δεκαδικό

 fun main(args: Array) ( val num: Long = 110110111 val decimal = convertBinaryToDecimal(num) println("$num in binary = $decimal in decimal") ) fun convertBinaryToDecimal(num: Long): Int ( var num = num var decimalNumber = 0 var i = 0 var remainder: Long while (num.toInt() != 0) ( remainder = num % 10 num /= 10 decimalNumber += (remainder * Math.pow(2.0, i.toDouble())).toInt() ++i ) return decimalNumber )

Παραγωγή

 110110111 σε δυαδικό = 439 σε δεκαδικό

Επισκεφτείτε αυτήν τη σελίδα για να μάθετε, πώς να μετατρέψετε τον δεκαδικό αριθμό σε δυαδικό.

Παράδειγμα 2: Πρόγραμμα μετατροπής δεκαδικού σε δυαδικό

Μπορούμε να χρησιμοποιήσουμε τη Integer.toBinaryString()μέθοδο για να μετατρέψουμε έναν δεκαδικό αριθμό σε δυαδικό.

 fun main(args: Array) ( val num = 19 // converting decimal to binary val binary = Integer.toBinaryString(num) println("$num in decimal = $binary in binary") ) 

Εδώ είναι ο πηγαίος κώδικας για τη μη αυτόματη μετατροπή ενός δεκαδικού αριθμού σε δυαδικό.

Παράδειγμα 3: Μετατροπή δεκαδικού αριθμού σε δυαδικό χειροκίνητα

 fun main(args: Array) ( val num = 19 val binary = convertDecimalToBinary(num) println("$num in decimal = $binary in binary") ) fun convertDecimalToBinary(n: Int): Long ( var n = n var binaryNumber: Long = 0 var remainder: Int var i = 1 var step = 1 while (n != 0) ( remainder = n % 2 System.out.printf("Step %d: %d/2, Remainder = %d, Quotient = %d", step++, n, remainder, n / 2) n /= 2 binaryNumber += (remainder * i).toLong() i *= 10 ) return binaryNumber )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Βήμα 1: 19/2, Remainder = 1, Quotient = 9 Βήμα 2: 9/2, Remainder = 1, Quotient = 4 Step 3: 4/2, Remainder = 0, Quotient = 2 Step 4: 2/2, Remainder = 0, Quotient = 1 Βήμα 5: 1/2, Υπόλοιπο = 1, Quotient = 0 19 σε δεκαδικό = 10011 σε δυαδικό

Εδώ είναι ο αντίστοιχος κώδικας Java: Πρόγραμμα Java για μετατροπή δυαδικού σε δεκαδικό και αντίστροφα

ενδιαφέροντα άρθρα...