MST

星途 面试题库

面试题:Rust多进制转换控制台输出及优化

编写一个Rust程序,实现从十进制到二进制、八进制、十六进制的转换,并在控制台输出。要求程序具备良好的扩展性,能够方便地添加其他进制转换功能。同时,优化代码性能,减少不必要的内存分配和计算。
28.4万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn main() {
    let decimal_number = 42;

    // 十进制转二进制
    let binary_number = format!("{:b}", decimal_number);
    println!("二进制: {}", binary_number);

    // 十进制转八进制
    let octal_number = format!("{:o}", decimal_number);
    println!("八进制: {}", octal_number);

    // 十进制转十六进制
    let hexadecimal_number = format!("{:x}", decimal_number);
    println!("十六进制: {}", hexadecimal_number);
}

代码说明

  1. 格式化字符串: Rust 中使用 format! 宏和特定的格式化标记 {:b}(二进制)、{:o}(八进制)、{:x}(十六进制)来进行进制转换。这种方式简洁且高效,避免了手动实现复杂的转换算法,从而减少了不必要的内存分配和计算。
  2. 扩展性: 如果要添加其他进制转换功能,例如十进制转三十二进制,只需查找对应的格式化标记(如果标准库支持),或者实现自定义的格式化逻辑。比如,对于自定义进制转换,可以通过实现 std::fmt::Display trait 来实现,代码结构清晰,易于维护和扩展。