[Odin] Scan input for bcd, convert bcd to a char[Odin] Scan input for bcd, convert bcd to a char

⚙️

ABCD Message

Week 21, 2026

package main import "core:fmt" import "core:strings" // INPUT := #load("warehouse.txt", string) INPUT := #load("input.txt", string) BCD :: [dynamic; 4] byte main :: proc () { fmt.println("Input:", INPUT) result := strings.builder_make() defer strings.builder_destroy(&result) bcd: BCD for r in INPUT do if r=='0' || r=='1' { append(&bcd, byte(r-'0')) if len(bcd) == 4 { char := bcd_to_char(bcd) strings.write_byte(&result, char) clear(&bcd) } } fmt.println("Result:", strings.to_string(result)) } bcd_to_char :: proc (b: BCD) -> byte { n := b[0]*8 + b[1]*4 + b[2]*2 + b[3] switch { case n <= 9 : return '0' + n case n == 15: return '.' case : return '?' } }