C++ 十六进制转八进制:解密古老宝箱的密码
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++ 进行进制转换的方法。现在,你就可以用这个程序去解密古老宝箱上的密码,找到宝藏了!
原文地址: https://www.cveoy.top/t/topic/nP1w 著作权归作者所有。请勿转载和采集!