Добавлена проверка Boolean чисел по регистру
This commit is contained in:
@@ -8,22 +8,24 @@ package ru.thiflict
|
||||
* @author Thiflict
|
||||
*
|
||||
* @since[1.0.0]
|
||||
*
|
||||
*/
|
||||
object BinCheck {
|
||||
|
||||
/**
|
||||
* Проверяет наличие единицы в заданом регистре
|
||||
*
|
||||
* Тип данных [Int]
|
||||
* Тип данных для проверяемого числа [Short].
|
||||
* Тип данных для проверяемого регистра [Byte]
|
||||
*
|
||||
* Пример:
|
||||
* ```
|
||||
* checkRegisterShort(0100, 2)
|
||||
* checkRegisterShort(8, 3)
|
||||
* ```
|
||||
* @return true
|
||||
*/
|
||||
fun checkRegisterShort(input: Int, register: Int): Boolean {
|
||||
val mask = 1 shl 2
|
||||
fun checkRegisterShort(input: Short, register: Byte): Boolean {
|
||||
val binaryString = String.format("%16s", input.toInt().toString(2).replace(' ', '0'))
|
||||
val index = 15 - register.toInt()
|
||||
return binaryString[index] == '1'
|
||||
}
|
||||
}
|
||||
38
src/test/kotlin/CheckRegisterTest.kt
Normal file
38
src/test/kotlin/CheckRegisterTest.kt
Normal file
@@ -0,0 +1,38 @@
|
||||
import ru.thiflict.BinCheck.checkRegisterShort
|
||||
|
||||
/**
|
||||
* Тест [checkRegisterShort]
|
||||
*
|
||||
* Его писал Qwen3 Coder
|
||||
*/
|
||||
fun main() {
|
||||
// Тест 1: Проверка значения 8 в регистре 3 (должно быть true)
|
||||
println("Тест 1: checkRegisterShort(8, 3) = ${checkRegisterShort(8, 3.toByte())}")
|
||||
|
||||
// Тест 2: Проверка значения 16 в регистре 4 (должно быть true)
|
||||
println("Тест 2: checkRegisterShort(16, 4) = ${checkRegisterShort(16, 4.toByte())}")
|
||||
|
||||
// Тест 3: Проверка значения 1 в регистре 0 (должно быть true)
|
||||
println("Тест 3: checkRegisterShort(1, 0) = ${checkRegisterShort(1, 0.toByte())}")
|
||||
|
||||
// Тест 4: Проверка значения 0 в регистре 0 (должно быть false)
|
||||
println("Тест 4: checkRegisterShort(0, 0) = ${checkRegisterShort(0, 0.toByte())}")
|
||||
|
||||
// Тест 5: Проверка значения 32767 в регистре 15 (должно быть false)
|
||||
println("Тест 5: checkRegisterShort(32767, 15) = ${checkRegisterShort(32767, 15.toByte())}")
|
||||
|
||||
// Тест 6: Проверка значения 32767 в регистре 0 (должно быть true)
|
||||
println("Тест 6: checkRegisterShort(32767, 0) = ${checkRegisterShort(32767, 0.toByte())}")
|
||||
|
||||
// Тест 7: Проверка значения 15 в регистре 3 (должно быть true)
|
||||
println("Тест 7: checkRegisterShort(15, 3) = ${checkRegisterShort(15, 3.toByte())}")
|
||||
|
||||
// Тест 8: Проверка значения 15 в регистре 0 (должно быть true)
|
||||
println("Тест 8: checkRegisterShort(15, 0) = ${checkRegisterShort(15, 0.toByte())}")
|
||||
|
||||
// Тест 9: Проверка значения 256 в регистре 8 (должно быть true)
|
||||
println("Тест 9: checkRegisterShort(256, 8) = ${checkRegisterShort(256, 8.toByte())}")
|
||||
|
||||
// Тест 10: Проверка значения -1 в регистре 0 (должно быть true, так как все биты установлены)
|
||||
println("Тест 10: checkRegisterShort(-1, 0) = ${checkRegisterShort(-1, 0.toByte())}")
|
||||
}
|
||||
Reference in New Issue
Block a user