中易网

求大神!不用数组的方法,C语言怎么编写十进制转换二进制和二进制转换十进制?注意是不用数组。还有c语

答案:2  悬赏:80  
解决时间 2021-01-16 00:05
求大神!不用数组的方法,C语言怎么编写十进制转换二进制和二进制转换十进制?注意是不用数组。还有c语
最佳答案
打印二进制数并没有现成的格式数值,只能自行编写函数打印。
以下是一个打印二进制值的函数,通过位操作,逐位判断二进制值,并输出对应的值。
默认高位0不输出。
void print_bin(int n)
{
int l = sizeof(n)*8;//总位数。
int i;
if(i == 0)
{
printf("0");
return;
}
for(i = l-1; i >= 0; i --)//略去高位0.
{
if(n&(1< }

for(;i>=0; i --)
printf("%d", (n&(1<}追问有没有更简洁的方法了追答这个代码已经是很简洁了。追问这只是函数主体吧 完整代码是不是加个#include
void main()
{
int n;
scanf("%d",&n);
print_bin(n);

}
就可以运行了?追答是的。你需要自己加main函数并调用这个就可以了。
全部回答
void decTobin(int d)
{
    char binary=0;
    if(d)
    {
        binary=(d&1)+'0';
        decTobin(d>>1);
    }
    if(binary) printf("%c",binary);
}void binTodec(int b) //用整型表示二进制,大小很有限
{
    int decimal=0,power=1;
    while(b)
    {
        decimal+=b%10*power;
        power*=2;
        b/=10;
    }
    printf("%d",decimal);
}追问大小很有限是什么意思?追答因为假如用int型的每一位表示二进制的每一位,能表示的最大的二进制数是
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我不知道他们给了我多少日子;但我的手确乎是
鲜竹沥和复方鲜竹沥液有什么区别
羚羊的故事阅读短文
桂林黎明艺术学校地址在什么地方,想过去办事
我平时穿女上装都是穿160/84a的,但时穿欧
和声艺术学校地址有知道的么?有点事想过去
什么是Marketing
如何解析防弹少年团专辑花样年华1,2的mv
香港国都快易有没有人玩过
漓江的水真静啊,静的让你感觉不到她在流动 仿
一般热转印温度是多少度?
什么车,这是什么牌子的车!
本人在嘉定想去凤溪大众练车怎么走
最近看见人家赌三公,赌很大,我现在没钱用,
为什么REACH附件17的限制物质很少关注
推荐资讯
写曹雪琴红楼梦的一首诗,什么十年辛苦…怎么
广东香煎芋丝饼怎么做
从羌湖到怀远大约全程高速公路要多长时间自驾
海干品工艺品廉价超市地址在什么地方,我要处
什么什么t的成语
普照禅寺在哪里啊,我有事要去这个地方
YJLV电缆和VLV电缆有什么区别
朝代歌里为什么没有新朝?秦朝那么短的朝代朝
我是外地的还没结婚在伊宁市开店做生意能在伊
电缆3x4+1什么意思
2017年邯郸有家具展会吗
带目和牛的成语有哪些
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?