Kotlin进制转换

进制表示

kotlin不支持表示8进制。

二进制

0b1101

十六进制å

0xd

运算

与 1001 & 1101 -> 1001

(0b1001 and 0b1101).toString(2) // 或者 0b1001.and(0b1101).toString(2)

或 1001 | 1101 -> 1101

(0b1001 or 0b1101).toString(2) // 或者 0b1001.or(0b1101).toString(2)

异或 1001 ^ 1101 -> 0100

(0b1001 xor 0b1101).toString(2) // 或者 0b1001.xor(0b1101).toString(2)

左移 1001 << 1 -> 10010

(0b1001 shl 1).toString(2) // 或者 0b1001.shl(1).toString(2)

右移 1001 >> 1 -> 0100

(0b1001 shr 1).toString(2) // 或者 0b1001.shr(1).toString(2)

无符号右移 1001 >>> 1 -> 0100

(0b1001 ushr 1).toString(2) // 或者 0b1001.ushr(1).toString(2)

十进制

十进制转2进制 13->1101

13.toString(2) // 或者 Integer.toBinaryString(13)

十进制转8进制 13->15

13.toString(8) // 或者 Integer.toOctalString(13)

十进制转16进制 13->d

13.toString(16) // 或者 Integer.toHexString(13)

二进制

2进制转8进制 1101->13->15

// 先转10进制再转8进制 "1101".toInt(2).toString(8)

2进制转10进制 1101->13

"1101".toInt(2) // 或者 Integer.valueOf("1101",2)

2进制转16进制 1101->13->d

// 先转10进制再转16进制 "1101".toInt(2).toString(16)

八进制

8进制转2进制 15->13->1101

// 先转10进制再转2进制 "15".toInt(8).toString(2)

8进制转10进制 15->13

"15".toInt(8) // 或者 Integer.valueOf("15",8)

8进制转16进制 15->13->d

// 先转10进制再转16进制 "15".toInt(8).toString(16)

十六进制

16进制转2进制 d->13->1101

// 先转10进制再转2进制 "d".toInt(16).toString(2)

16进制转8进制 d->13->15

// 先转10进制再转8进制 "d".toInt(16).toString(8)

16进制转10进制 d->13

"d".toInt(16) // 或者 Integer.valueOf("d",16)

来自掘金的洋
链接:https://juejin.cn/post/7021346622667767845

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容