Багфиксы и мелкие дополнения
This commit is contained in:
@@ -17,14 +17,39 @@ object BinCheck {
|
||||
* Тип данных для проверяемого числа [Short].
|
||||
* Тип данных для проверяемого регистра [Byte]
|
||||
*
|
||||
* Регистр *не может быть* **отрицательным** или **больше 15**
|
||||
*
|
||||
* Пример:
|
||||
* ```
|
||||
* checkRegisterShort(8, 3)
|
||||
* ```
|
||||
* @return true
|
||||
* @return [Boolean]
|
||||
* @throws IllegalArgumentException
|
||||
*/
|
||||
fun checkRegisterShort(input: Short, register: Byte): Boolean {
|
||||
fun checkRegisterShort(input: Short, register: Byte, verbose: Boolean = false): Boolean {
|
||||
// Защиты от дурачков
|
||||
if (register < 0) throw IllegalArgumentException("Проверяемый регистр не может быть отрицательным!")
|
||||
if (register > 15) throw IllegalArgumentException("Проверяемый регистр не может быть больше, чем количество регистров Short!")
|
||||
|
||||
if (verbose) println("Debug: checkRegisterShort(): Выполнена проверка на IllegalArgumentException")
|
||||
|
||||
val binaryString = String.format("%16s", input.toInt().toString(2).replace(' ', '0'))
|
||||
|
||||
if (verbose) println("Debug: checkRegisterShort(): ${
|
||||
if (binaryString.startsWith("-")) {
|
||||
val binaryStringFormatted = binaryString
|
||||
.drop(1)
|
||||
.chunked(4)
|
||||
.joinToString(" ")
|
||||
"-$binaryStringFormatted"
|
||||
}
|
||||
else {
|
||||
binaryString
|
||||
.chunked(4)
|
||||
.joinToString(" ")
|
||||
}
|
||||
}")
|
||||
|
||||
val index = 15 - register.toInt()
|
||||
return binaryString[index] == '1'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user