#include <iostream>
#include <bitset>
#include <sstream>
// 十进制转二进制
std::string decToBin(int n) {
std::string result;
std::stringstream ss;
ss << std::bitset<32>(n);
ss >> result;
// 移除前导零
size_t firstOne = result.find_first_not_of('0');
if (firstOne != std::string::npos) {
result = result.substr(firstOne);
} else {
result = "0"; // 如果全是零,返回"0"
}
return result;
}
// 二进制转十进制
int binToDec(const std::string& bin) {
return std::bitset<32>(bin).to_ulong();
}
// 十进制转十六进制
std::string decToHex(int n) {
std::stringstream ss;
ss << std::hex << n;
return ss.str();
}
// 十六进制转十进制
int hexToDec(const std::string& hex) {
std::stringstream ss;
int result;
ss << std::hex << hex;
ss >> result;
return result;
}
int main() {
int decNumber = 42;
std::string binNumber = "101010";
std::string hexNumber = "2A";
std::cout << "Decimal to Binary: " << decNumber << " -> " << decToBin(decNumber) << std::endl;
std::cout << "Binary to Decimal: " << binNumber << " -> " << binToDec(binNumber) << std::endl;
std::cout << "Decimal to Hexadecimal: " << decNumber << " -> " << decToHex(decNumber) << std::endl;
std::cout << "Hexadecimal to Decimal: " << hexNumber << " -> " << hexToDec(hexNumber) << std::endl;
return 0;
}
decToBin
: 将十进制整数转换为二进制字符串。使用 std::bitset
进行转换,并去除前导零。binToDec
: 将二进制字符串转换为十进制整数。使用 std::bitset
进行转换。decToHex
: 将十进制整数转换为十六进制字符串。使用 std::stringstream
和 std::hex
进行格式化输出。hexToDec
: 将十六进制字符串转换为十进制整数。使用 std::stringstream
和 std::hex
进行解析。在 main
函数中,演示了这些函数的用法,并输出转换结果。
上一篇:c++ tcp
下一篇:c++ 获取系统时间
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站