reto14 terminado

This commit is contained in:
2023-07-03 10:47:14 +02:00
parent 608531751c
commit fd3dd1845e

View File

@@ -5,18 +5,62 @@
* realicen esas operaciones directamente. * realicen esas operaciones directamente.
*/ */
fn decimal_a_binario(n: i32) -> String { fn decimal_a_base(mut n: i32, base: i32) -> String {
n.to_string() let mut numero_binario = String::new();
while n >= base {
let rest = n % base;
numero_binario = numero_binario + &rest.to_string();
n = n / base;
}
numero_binario = numero_binario + &n.to_string();
numero_binario = numero_binario.chars().rev().collect();
numero_binario.to_string()
}
fn decimal_a_hexadecimal(mut n: i32) -> String {
let mut numero_hexadecimal = String::from("");
while n >= 16 {
let rest = n % 16;
if rest > 10 && rest < 16 {
let vector_hexadecimal = ["a", "b", "c", "d", "e", "f"];
let num = rest - 10;
let letra = vector_hexadecimal[num as usize];
numero_hexadecimal = numero_hexadecimal + letra;
} else if rest > 15 {
let num = rest - 16;
numero_hexadecimal = numero_hexadecimal + &num.to_string();
} else {
numero_hexadecimal = numero_hexadecimal + &rest.to_string();
}
n = n / 16;
}
numero_hexadecimal = numero_hexadecimal + &n.to_string();
numero_hexadecimal = numero_hexadecimal + &"x0".to_string();
numero_hexadecimal = numero_hexadecimal.chars().rev().collect();
numero_hexadecimal.to_string()
} }
fn main() { fn main() {
let num = 95; let num = 345;
println!("El número decimal {}, en binario es: {:b}", num, num); println!("El número decimal {}, en binario es: {:b}", num, num);
println!( println!(
"El número decimal {}, en binario es: {}", "El número decimal {}, en binario es: {}",
num, num,
decimal_a_binario(num) decimal_a_base(num, 2)
); );
println!("El número decimal {}, en octal es: {:o}", num, num);
println!(
"El número decimal {}, en octal es: {}",
num,
decimal_a_base(num, 8)
);
println!("El número decimal {}, en Hexadecimal es: {:#02x}", num, num);
println!(
"El número decimal {}, en Hexadecimal es: {}",
num,
decimal_a_hexadecimal(num)
);
// https://lasmatesfaciles.com/2021/04/28/convertir-decimal-a-octal/ // https://lasmatesfaciles.com/2021/04/28/convertir-decimal-a-octal/
// por mi parte también binario // por mi parte también binario
} }