首页 > 其他分享 >进制转换

进制转换

时间:2024-06-04 16:12:59浏览次数:21  
标签:10 cnt 转换 进制 int decimal printf


void decToBinary(int decimal)
{
    int binary[32];
    int cnt = 0;

    while (decimal > 0)
    {
        binary[cnt] = decimal % 2; // 取模放在低位
        decimal = decimal / 2;     // 更新参数
        cnt++;
    }

    printf("Binary equivalent: ");
    for (int i = cnt - 1; i >= 0; i--) // 逆向输出
    {
        printf("%d", binary[i]);
    }
    printf("\n");
}

void decToOctal(int decimal)
{
    int octal[100];
    int cnt = 0;

    while (decimal > 0)
    {
        octal[cnt] = decimal % 8; // 取模
        decimal = decimal / 8;    // 更新参数
        cnt++;
    }

    printf("Octal equivalent: ");
    for (int i = cnt - 1; i >= 0; i--)
    {
        printf("%d", octal[i]);
    }
    printf("\n");
}

void decToHex(int decimal)
{
    char hex[100];
    int cnt = 0;

    while (decimal > 0)
    {
        int remainder = decimal % 16; // 对参数取模,余数

        if (remainder < 10) // 余数小于10,存入ASCII码
        {
            hex[cnt] = remainder + '0';
        }
        else
        {
            hex[cnt] = remainder + 'A' - 10; // ASCII字母A-10输出字母
        }

        decimal = decimal / 16; // 更新参数
        cnt++;
    }

    printf("Hexadecimal equivalent: ");
    for (int i = cnt - 1; i >= 0; i--) // 的到结果要逆向输出
    {
        printf("%c", hex[i]);
    }
    printf("\n");
}

int main()
{
    int decimal;
    printf("Enter a decimal number: ");
    scanf("%d", &decimal);

    decToBinary(decimal);
    decToOctal(decimal);
    decToHex(decimal);

    return 0;
}

运行结果:

总结:进制转换重点在于存入数组的时候输出要逆向输出,还有16进制转换的时候要判断余值是否是否小于10,因为16进制10~15要用字母表示 所以要加上他们的ASCII再减去10.

标签:10,cnt,转换,进制,int,decimal,printf
From: https://www.cnblogs.com/ikunkunkun/p/18231020

相关文章

  • C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
    intcountBits(intn){intcount=0;while(n){count+=n&1;//count=count+n&1//n&1的结果只可能是1或者0//如果对应的二进制位上的数字不同,那么n&1的结果就是1,//那么count刚好加一n>>=1;......
  • Transgaga——人脸与猫脸之间互相转换算法解析
    1.概述虽然pix2pix作为风格转换模型被提出,但它依赖于成对的数据集。与之相比,CycleGAN通过引入循环损失,实现了无需配对数据的风格转换。不过,CycleGAN在处理需要大幅几何变化的风格转换时表现不佳,仅在如马和斑马这类颜色变化的场景中有效。2018年,MUNIT利用变分自编码器(VAE)......
  • pdf如何转换成excel文档?这3个方法免费!
    职场人士常常会遇到PDF文件格式,因为PDF便于传输且能够保持排版稳定,因此在文件分享中备受青睐。然而,PDF文件中的表格数据可能涉及到公式和函数,而PDF格式又不易编辑,这时我们就需要将其转换为Excel格式进行编辑修改。因此,掌握PDF转换成Excel的技能对职场人士来说非常有意义。幸运的......
  • C++ 强制类型转换运算符简介
    C++提供了四种强制类型转换运算符:static_cast、reinterpret_cast、const_cast和dynamic_cast。这些运算符各自具有特定的用途,适用于不同的类型转换需求。本文将详细介绍这四种运算符及其应用场景,并讨论它们在向上转换中的使用方法。1.static_caststatic_cast用于在编译时执......
  • (蕊源)代理 RY3750 SOT-23-5 1.2MHz,30V,升压转换器
    产品描述RY3750是一个升压转换器。其1.23V的反馈电压降低了功率损耗,提高了效率。优化的运行频率可以满足LC滤波器值小、低运行电流的要求。内部软启动功能可以降低冲涌电流。小包装类型为节省PCB空间和总BOM成本提供了最佳的解决方案。产品特点2.5V至5.5V的输入电压1.23V反......
  • 代码随想录算法训练营第二十三天 | 669.修剪二叉搜索树 108.将有序数组转换为二叉搜索
    669.修剪二叉搜索树题目链接文章讲解视频讲解classSolution{public:TreeNode*trimBST(TreeNode*root,intlow,inthigh){if(root==nullptr)returnnullptr;//当前值小于左边界时,当前节点的左子树全部小于左边界,所以全部删除,直接处理右子树......
  • 关于java类型转换题目
    publicclasstest2{publicstaticvoidmain(String[]args){System.out.println(zh(123));df();ca();longToInt();ByteToShort();booleanToString();conversion();FloatToDouble();IntToCha......
  • C++实现进制转换工具
    下面是一个使用C++编写的简单数制转换工具,该工具包含了二进制、十进制和十六进制之间的转换功能。二进制转十进制intbinaryToDecimal(conststd::string&binary){intdecimal=0,base=1;intlen=binary.length();for(inti=len-1;i>=0;--i){......
  • 模拟集成电路设计系列博客——6.3.2 单电源正输出转换器
    6.3.2单电源正输出转换器一个快速单端正极输出D/A(一般用于视频RAM中,称为RAMDAC)如下图所示[Colles,1988]:此处,一个匹配反馈回路被用于精确已知的电流源偏置(注意,此处放大器的输入连接看上去是反的,但是由于信号通过\(Q_4\)反相,因此这样连接才是对的)。同时,为了保持独立于\(V_{out}......
  • JavaScript第三讲:解锁JavaScript的数据世界:基本数据类型与类型转换的奥秘
    前言:hello,大家好,在JavaScript的编程世界中,数据是构成一切的基础。无论是构建复杂的Web应用,还是处理用户输入,我们都无法绕开数据这一核心元素。而在JavaScript中,数据以不同的形式存在,我们称之为数据类型。理解这些数据类型以及它们之间的转换关系,对于编写高效、健壮的代码至关......