Merge branch 'master' of ssh://gitea.maiertobi.de:222/tobimai/advent_of_code_2021

This commit is contained in:
2021-12-16 16:51:07 +01:00
4 changed files with 35 additions and 0 deletions

9
december_16/Cargo.toml Normal file
View File

@@ -0,0 +1,9 @@
[package]
name = "december_16"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
hex = "0.4.3"

1
december_16/example.txt Normal file
View File

@@ -0,0 +1 @@
D2FE28

0
december_16/input.txt Normal file
View File

25
december_16/src/main.rs Normal file
View File

@@ -0,0 +1,25 @@
use std::fs::read_to_string;
extern crate hex;
fn main() {
let input_char_vec = read_to_string("./example.txt").expect("ERROR reading file");
//let split_input: Vec<char> = input_char_vec.chars().collect();
let test = hex::decode(input_char_vec).expect("Decoding failed");
let mut bit_vec: Vec<bool> = Vec::new();
for t in test{
for n in 0..8 {
bit_vec.push( (t >> 7-n & 1) == 1);
}
}
process_packet(bit_vec);
println!();
}
fn process_packet(bit_vec: Vec<bool>) {
let version = (bit_vec[0] as u32 * 4) + (bit_vec[1] as u32 * 2) + (bit_vec[2] as u32);
let packet_type = (bit_vec[3] as u32 * 4) + (bit_vec[4] as u32 * 2) + (bit_vec[5] as u32);
println!("Packet Version: {}, Packet type: {}", version, packet_type);
}