阅读 803

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


文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐