Код IT Загрузка примера кода…

Kotlin main.kt
class BitIterator(private var value: Int) : Iterator<Boolean> {
    private var bitIndex = 0
    override fun hasNext() = bitIndex < 32
    override fun next(): Boolean {
        if (!hasNext()) throw NoSuchElementException()
        return (value shr bitIndex++ and 1) == 1
    }
}

operator fun Int.iterator() = BitIterator(this)

// Использование:
for (bit in 5) {  // 5 = 101₂
    print(if (bit) '1' else '0')
}
// Выведет: 10100000000000000000000000000000
class BitIterator(private var value: Int) : Iterator<Boolean> {
    private var bitIndex = 0
    override fun hasNext() = bitIndex < 32
    override fun next(): Boolean {
        if (!hasNext()) throw NoSuchElementException()
        return (value shr bitIndex++ and 1) == 1
    }
}

operator fun Int.iterator() = BitIterator(this)

// Использование:
for (bit in 5) {  // 5 = 101₂
    print(if (bit) '1' else '0')
}
// Выведет: 10100000000000000000000000000000