C++ 十六进制转八进制:解密古老宝箱的密码

当你观察到一个神秘的古老宝箱时,你决定尝试打开它。但是,宝箱上面的密码是用十六进制编码的!幸运的是,你是一名优秀的程序员。以下是你需要解决的问题:宝箱上有一行神秘的十六进制数字,但无法直接读取它。你需要编写一个程序,将这个十六进制数字转换为八进制数字,以找到正确的密码。

输入描述

一个十六进制数,以字符串形式给出。该字符串只包含数、点(.)和字母(A-F),字母只包含大写。

输出描述

输出一行,表示对应的八进制数,以字符串形式给出。

样例1

输入

1A

输出

32

样例2

输入

8.1

输出

10.04

代码实现

下面是一个使用 C++ 编写的程序,将输入的十六进制数字转换为八进制数字:

#include <iostream>
#include <string>

std::string hexToOct(std::string hex) {
    // 将十六进制字符串转换为整数
    int decimal = std::stoi(hex, nullptr, 16);

    // 将整数转换为八进制字符串
    std::string octal = std::to_string(decimal);

    return octal;
}

int main() {
    std::string hex;
    std::cin >> hex;

    std::string octal = hexToOct(hex);

    std::cout << octal << std::endl;

    return 0;
}

代码解释

该程序首先定义了一个名为hexToOct的函数,该函数接受一个十六进制字符串作为参数,并返回对应的八进制字符串。在函数内部,首先使用std::stoi函数将十六进制字符串转换为整数。然后,使用std::to_string函数将整数转换为八进制字符串。

main函数中,首先读取输入的十六进制字符串。然后,调用hexToOct函数将其转换为八进制字符串,并将结果打印到标准输出。最后,程序返回0表示正常结束。

总结

通过这个程序,你成功地将十六进制数字转换为八进制数字,并掌握了使用 C++ 进行进制转换的方法。现在,你就可以用这个程序去解密古老宝箱上的密码,找到宝藏了!

C++ 十六进制转八进制:解密古老宝箱的密码

原文地址: https://www.cveoy.top/t/topic/nP1w 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录