gpt4 book ai didi

c - 设置参数

转载 作者:行者123 更新时间:2023-11-30 21:29:03 25 4
gpt4 key购买 nike

如何创建一个从整数打印二进制但具有一定位数的函数。

例如 printBin ( 13 , 7)

会显示

0001101

#include<stdio.h>
#include<conio.h>

//Display integer number into binary using bitwise operator
void printBin(int num, int bits)
{
int mask = 0x4000;
if ((num & 0x8000) == 0)
printf("0");
else
printf("1");

while (mask != 0)
{
if ((num & mask) == 0)
printf("0");
else
printf("1");
mask = mask >> 1;
}
}

void main()
{
int intNum;
int intBits;

printf("\nEnter a integer number and number of bits :");
scanf("%d %d", &intNum, &intBits);

printf("\nInteger number in binary format :");
printBin(intNum, intBits);

getch();
}

最佳答案

你把事情搞得太复杂了。如果我正确理解你想要做什么(我没有阅读你的代码,因为格式很困惑),那么它就像迭代你想要打印的位并打印每个位一样简单。因为您从最高索引位开始,所以从最大索引到 0 运行 for 循环。

你的函数可以是三行:

void printBin(int num, int bits) {
for (int i = bits-1; i >= 0; --i) {
printf("%d",num>>i & 1);
}
}

关于c - 设置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35192319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com