kotlin 进制转换
时间: 2023-08-08 22:10:13 浏览: 268
在 Kotlin 中,你可以使用以下函数进行进制转换:
1. 十进制转二进制:`Integer.toBinaryString(num)`
2. 十进制转八进制:`Integer.toOctalString(num)`
3. 十进制转十六进制:`Integer.toHexString(num)`
4. 二进制转十进制:`Integer.parseInt(binaryStr, 2)`
5. 八进制转十进制:`Integer.parseInt(octalStr, 8)`
6. 十六进制转十进制:`Integer.parseInt(hexStr, 16)`
其中,`num` 是一个十进制数,`binaryStr` 是一个二进制字符串,`octalStr` 是一个八进制字符串,`hexStr` 是一个十六进制字符串。
以下是一个示例代码,演示如何使用这些函数进行进制转换:
```kotlin
fun main() {
val num = 42 // 十进制数
// 十进制转二进制
val binary = Integer.toBinaryString(num)
println("$num in binary is $binary")
// 十进制转八进制
val octal = Integer.toOctalString(num)
println("$num in octal is $octal")
// 十进制转十六进制
val hex = Integer.toHexString(num)
println("$num in hex is $hex")
// 二进制转十进制
val binaryStr = "101010"
val decimalFromBinary = Integer.parseInt(binaryStr, 2)
println("$binaryStr in decimal is $decimalFromBinary")
// 八进制转十进制
val octalStr = "52"
val decimalFromOctal = Integer.parseInt(octalStr, 8)
println("$octalStr in decimal is $decimalFromOctal")
// 十六进制转十进制
val hexStr = "2a"
val decimalFromHex = Integer.parseInt(hexStr, 16)
println("$hexStr in decimal is $decimalFromHex")
}
```
输出结果:
```
42 in binary is 101010
42 in octal is 52
42 in hex is 2a
101010 in decimal is 42
52 in decimal is 42
2a in decimal is 42
```
在上面的代码中,我们首先定义了一个十进制数 `num`,然后使用 `toBinaryString()`、`toOctalString()` 和 `toHexString()` 函数将其转换为二进制、八进制和十六进制。接着,我们定义了三个字符串 `binaryStr`、`octalStr` 和 `hexStr`,分别代表一个二进制数、一个八进制数和一个十六进制数,然后使用 `parseInt()` 函数将它们转换为十进制数。
阅读全文