reto14 terminado
This commit is contained in:
@@ -5,18 +5,62 @@
|
||||
* realicen esas operaciones directamente.
|
||||
*/
|
||||
|
||||
fn decimal_a_binario(n: i32) -> String {
|
||||
n.to_string()
|
||||
fn decimal_a_base(mut n: i32, base: i32) -> 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() {
|
||||
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: {}",
|
||||
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/
|
||||
// por mi parte también binario
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user