reto14 terminado
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user