问:自定义一个函数,实现功能:将unsigned short 类型的数转换成二进制数,并打印出来。例如,输入112,打印出:1110000。

答:
void dec2bin_print(unsigned short a)
{
    int c=0;
    int i=0;
    int d[30]={0};
    
    while(a != 0)
    {
        c = a%2;//c为a的余数
        d[i] = c;
        i ++;//i表示a转换的二进制数的位数
        a = a/2;
    }
    i --;
    while(i >= 0)
    {
        printf("%d",a[i]);
        i --;
    }
    printf("\r\n");
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言中,可以使用位操作符来合并两个八位二进制一个16位二进制,并使用适当的函数将16位二进制转换为十进制。 下面是一个示例代码: ```c #include <stdio.h> // 合并两个八位二进制一个16位二进制 unsigned short mergeBinary(unsigned char num1, unsigned char num2) { unsigned short mergedNum = 0; mergedNum |= num1; // 将num1的二进制表示放到低8位 mergedNum <<= 8; // 左移8位 mergedNum |= num2; // 将num2的二进制表示放到高8位 return mergedNum; } int main() { unsigned char binary1 = 0b11110000; // 第一个八位二进制 unsigned char binary2 = 0b00001111; // 第二个八位二进制 unsigned short mergedBinary = mergeBinary(binary1, binary2); printf("Merged Binary: %04X\n", mergedBinary); // 打印合并后的16位二进制(以十六进制形式显示) int decimal = mergedBinary; // 将16位二进制转换为十进制 printf("Decimal: %d\n", decimal); // 打印转换后的十进制 return 0; } ``` 这段代码首先定义了一个函数`mergeBinary`,该函数接受两个八位二进制作为参,并返回一个合并后的16位二进制。在`main`函数中,我们定义了两个八位二进制`binary1`和`binary2`,然后调用`mergeBinary`函数将它们合并为一个16位二进制,并将结果打印来。 接下来,我们将合并后的16位二进制赋值给一个整型变量`decimal`,然后使用`printf`函数打印转换后的十进制。 运行上述代码,将会得到以下输: ``` Merged Binary: F00F Decimal: 61455 ``` 其中,`Merged Binary`是合并后的16位二进制的十六进制表示,`Decimal`是转换后的十进制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值