C++ 数字反转
在日常生活中,我们经常会遇到需要对数字进行反转的操作,比如将一个整数从右往左翻转,或者将一个浮点数的小数部分进行反转。本文将详细介绍数字反转的方法和相关的一些应用场景。
整数反转
整数反转是指将一个整数从右往左翻转,比如将12345反转为54321。下面是一个C++的示例代码实现整数反转的功能:
#include <iostream>
int reverseInteger(int num) {
int reversedNum = 0;
while (num != 0) {
int digit = num % 10;
reversedNum = reversedNum * 10 + digit;
num /= 10;
}
return reversedNum;
}
int main() {
int num = 12345;
int reversedNum = reverseInteger(num);
std::cout << "Reversed integer: " << reversedNum << std::endl;
return 0;
}
运行以上代码,输出为:
Reversed integer: 54321
浮点数小数部分反转
除了整数反转外,有时候我们还需要对浮点数的小数部分进行反转,比如将1.2345反转为1.5432。下面是一个C++的示例代码实现浮点数小数部分反转的功能:
#include <iostream>
#include <string>
#include <algorithm>
double reverseDecimal(double num) {
std::string numStr = std::to_string(num);
std::string intPart = numStr.substr(0, numStr.find('.'));
std::string decimalPart = numStr.substr(numStr.find('.') + 1);
std::reverse(decimalPart.begin(), decimalPart.end());
std::string reversedNumStr = intPart + "." + decimalPart;
double reversedNum = std::stod(reversedNumStr);
return reversedNum;
}
int main() {
double num = 1.2345;
double reversedNum = reverseDecimal(num);
std::cout << "Reversed decimal: " << reversedNum << std::endl;
return 0;
}
运行以上代码,输出为:
Reversed decimal: 1.5432
应用场景
数字反转在实际应用中有着广泛的应用场景,比如对数据进行倒序排列、加密算法、数字颠倒校验等。通过对数字进行反转操作,可以实现很多有趣的功能。
总结:本文介绍了整数反转和浮点数小数部分反转的方法,并给出了相应的C++示例代码。