
Добавил:
deadpigeon
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab3 / lr3
.tcl # Процедура для извлечения 4 наименьших значащих битов и перевода числа в двоичный формат
proc to_binary {number} {
if {$number < 0 || $number > 15} {
return "Ошибка: Число должно быть в диапазоне от 0 до 15"
}
set binary ""
for {set i 0} {$i < 4} {incr i} {
set bit [expr {$number & 1}]
set binary "$bit$binary"
set number [expr {$number >> 1}]
}
return "${binary}b"
}
# Основной скрипт
puts "Введите положительное целое число от 0 до 15:"
set input [gets stdin]
# Проверка ввода
if {![string is integer -strict $input]} {
puts "Ошибка: Введено некорректное число"
exit 1
}
set number [string trim $input]
set result [to_binary $number]
puts $result
proc to_binary {number} {
if {$number < 0 || $number > 15} {
return "Ошибка: Число должно быть в диапазоне от 0 до 15"
}
set binary ""
for {set i 0} {$i < 4} {incr i} {
set bit [expr {$number & 1}]
set binary "$bit$binary"
set number [expr {$number >> 1}]
}
return "${binary}b"
}
# Основной скрипт
puts "Введите положительное целое число от 0 до 15:"
set input [gets stdin]
# Проверка ввода
if {![string is integer -strict $input]} {
puts "Ошибка: Введено некорректное число"
exit 1
}
set number [string trim $input]
set result [to_binary $number]
puts $result