Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++进制转换函数

作者:二分醒amor   发布日期:2025-02-05   浏览:164

#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;
}

解释说明:

  1. decToBin: 将十进制整数转换为二进制字符串。使用 std::bitset 进行转换,并去除前导零。
  2. binToDec: 将二进制字符串转换为十进制整数。使用 std::bitset 进行转换。
  3. decToHex: 将十进制整数转换为十六进制字符串。使用 std::stringstreamstd::hex 进行格式化输出。
  4. hexToDec: 将十六进制字符串转换为十进制整数。使用 std::stringstreamstd::hex 进行解析。

main 函数中,演示了这些函数的用法,并输出转换结果。

上一篇:c++ tcp

下一篇:c++ 获取系统时间

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++ 获取系统时间

c++进制转换函数

c++ tcp

c++ gcd函数

c++ cli

c++ 树

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站