Chương trình Kotlin để chuyển đổi số nhị phân thành số bát phân và ngược lại

Trong chương trình này, bạn sẽ học cách chuyển đổi số nhị phân thành số bát phân và ngược lại bằng cách sử dụng các hàm trong Kotlin.

Ví dụ 1: Chương trình chuyển đổi nhị phân sang bát phân

Trong chương trình này, đầu tiên chúng ta sẽ chuyển đổi số nhị phân sang số thập phân. Sau đó, số thập phân được chuyển thành bát phân.

 fun main(args: Array) ( val binary: Long = 101001 val octal = convertBinarytoOctal(binary) println("$binary in binary = $octal in octal") ) fun convertBinarytoOctal(binaryNumber: Long): Int ( var binaryNumber = binaryNumber var octalNumber = 0 var decimalNumber = 0 var i = 0 while (binaryNumber.toInt() != 0) ( decimalNumber += (binaryNumber % 10 * Math.pow(2.0, i.toDouble())).toInt() ++i binaryNumber /= 10 ) i = 1 while (decimalNumber != 0) ( octalNumber += decimalNumber % 8 * i decimalNumber /= 8 i *= 10 ) return octalNumber )

Khi bạn chạy chương trình, đầu ra sẽ là:

 101001 trong hệ nhị phân = 51 trong bát phân

Chuyển đổi này diễn ra như:

Nhị phân thành thập phân 1 * 2 5 + 0 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 41 thập phân thành bát phân 8 | 41 8 | 5 - 1 8 | 0 - 5 (51)

Ví dụ 2: Chương trình chuyển đổi số bát phân sang số nhị phân

Trong chương trình này, lúc đầu số bát phân sang thập phân thành thập phân. Sau đó, số thập phân được chuyển đổi thành số nhị phân.

 fun main(args: Array) ( val octal = 67 val binary = convertOctalToBinary(octal) println("$octal in octal = $binary in binary") ) fun convertOctalToBinary(octalNumber: Int): Long ( var octalNumber = octalNumber var decimalNumber = 0 var i = 0 var binaryNumber: Long = 0 while (octalNumber != 0) ( decimalNumber += (octalNumber % 10 * Math.pow(8.0, i.toDouble())).toInt() ++i octalNumber /= 10 ) i = 1 while (decimalNumber != 0) ( binaryNumber += (decimalNumber % 2 * i).toLong() decimalNumber /= 2 i *= 10 ) return binaryNumber )

Khi bạn chạy chương trình, đầu ra sẽ là:

 67 trong bát phân = 110111 trong nhị phân

Chuyển đổi này diễn ra như:

Số bát phân đến số thập phân 6 * 8 1 + 7 * 8 0 = 55 Số thập phân thành số nhị phân 2 | 55 2 | 27 - 1 2 | 13 - 1 2 | 6 - 1 2 | 3 - 0 2 | 1 - 1 2 | 0 - 1 (110111)

Đây là mã Java tương đương: Chương trình Java để chuyển đổi nhị phân sang bát phân và ngược lại

thú vị bài viết...