gpt4 book ai didi

kotlin - 如何使用位在 Kotlin 中存储配置?

转载 作者:行者123 更新时间:2023-12-02 12:38:58 24 4
gpt4 key购买 nike

例如将config1-8存入config

var config1 = false
var config2 = false
var config3 = false
var config4 = false
var config5 = false
var config6 = false
var config7 = false
var config8 = false
var config = 0

如果配置是

var config1 = false
var config2 = false
var config3 = false
var config4 = false
var config5 = false
var config6 = false
var config7 = false
var config8 = true

然后配置为1

如果配置是

var config1 = false
var config2 = false
var config3 = false
var config4 = false
var config5 = false
var config6 = false
var config7 = true
var config8 = false

然后配置为2

如果配置是

var config1 = false
var config2 = false
var config3 = false
var config4 = false
var config5 = false
var config6 = false
var config7 = true
var config8 = true

然后配置是3

然后如何检查整数中的每个配置值?如果config为3,如何知道config 7和8为真?

最佳答案

要以 int 形式读写 bool 值,只需使用二进制掩码:

var config1 = true
var config2 = true
var config3 = false
var config4 = false
var config5 = false
var config6 = true
var config7 = true
var config8 = false


fun main(args : Array<String>) {
var config = 0
if(config1){ config = config or 0b10000000}
if(config2){ config = config or 0b1000000}
if(config3){ config = config or 0b100000}
if(config4){ config = config or 0b10000}
if(config5){ config = config or 0b1000}
if(config6){ config = config or 0b100}
if(config7){ config = config or 0b10}
if(config8){ config = config or 0b1}

println(config and 0b10000000 > 0)
println(config and 0b1000000 > 0)
println(config and 0b100000 > 0)
println(config and 0b10000 > 0)
println(config and 0b1000 > 0)
println(config and 0b100 > 0)
println(config and 0b10 > 0)
println(config and 0b1 > 0)
}

输出将是

true
true
false
false
false
true
true
false

关于kotlin - 如何使用位在 Kotlin 中存储配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52752954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com