C++进制转换函数小结

本文介绍了C++中如何使用标准库函数进行不同进制之间的转换,并提供了具体的代码示例。包括十进制、八进制、十六进制及二进制的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      关于这个问题,迟早总要面对的,一次dec与std::dec的冲突后,决定好好学习一下进制转换。

      在C++的ios里面有三个函数,std::oct(转8进制), std::dec (转10进制), std::hex(转16进制),std::bitset(转二进制)。

      先贴代码吧:

#include <bitset>
int main()
{
    std::cout << "The number 42 in octal:   " << std::oct << 42 << '\n'
              << "The number 42 in decimal: " << std::dec << 42 << '\n'
              << "The number 42 in hex:     " << std::hex << 42 << '\n'
			  << "The number 42 in bit:     " <<bitset<8>(42)<< '\n';;

        在这里,首先我们可以初步的认识进制函数转换使用了。

现在贴一个任意进制转换函数:

/**********     输入数字-x   进制选择 -k                *****************/
void fun(int x,int k)
{
    int a,b,c=-1,zu[10];
    b=x;
    x=x*k;
    do
    {
        a=b%k;
        c++;
        b=(b-a)/k;
        x=x/k;
        zu[c]=a;    
    }
    while(x/k>0);
    for(;c>=0;c--)
    {
        if(zu[c]>9)
            printf("%c",zu[c]+55);
        else
            printf("%d",zu[c]);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值