VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 598|回复: 10

C语言,你会多少种将10进制转换为2进制的方法?

[复制链接]
58_avatar_middle
最佳答案
43 
online_vip 发表于 2019-9-9 22:54:49 | 显示全部楼层 |阅读模式
30驿站币
请不要去搜索,自己先想想,本人很菜,还是用C标准函数吧。。

  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main()
  4. {
  5.     char str[10] = {0};
  6.     int Dec = 5;
  7.     itoa(Dec,str,3);
  8.     int Bin = atoi(str);
  9.     printf("%d\n",Bin);

  10.     return 0;
  11. }
复制代码

最佳答案

查看完整内容

int i=0,n=0,num; printf("请输入要转换二进制的十进制整数"); scanf("%d",&num); while (num>0){ n=n+num%2*pow(10,i); num=num/2; i++; } printf("十进制%d转换为二进制的数为%d\n",num,n);




上一篇:如何设置打开指定的程序只运行一次
下一篇:请各位指点一下c++的特性到底有啥用
84_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-9 22:54:50 | 显示全部楼层
int i=0,n=0,num;
printf("请输入要转换二进制的十进制整数");
scanf("%d",&num);
while (num>0){
n=n+num%2*pow(10,i);
num=num/2;
i++;
}
printf("十进制%d转换为二进制的数为%d\n",num,n);
58_avatar_middle
最佳答案
43 
ico_lz  楼主| 发表于 2019-9-9 22:58:20 | 显示全部楼层
C语言,你会多少种将10进制转换为2进制的方法?敲的太快,敲成3进制了,今天被人歧视了,有人说C语言不能输出2进制。。
84_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-10 10:12:33 | 显示全部楼层
看了下别人的实现x的y次方,感觉都不好
05_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-10 13:48:27 | 显示全部楼层
学习了C语言,你会多少种将10进制转换为2进制的方法?
58_avatar_middle
最佳答案
43 
ico_lz  楼主| 发表于 2019-9-10 13:53:21 | 显示全部楼层

你初学C语言吗?试着自己先想想这道题。
57_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-23 11:18:15 | 显示全部楼层
#include<stdio.h> #include<limits.h> #define T 2 int main() {         int a,binary[100],bin_i_c[100],bin_c[100],num;//一般变量         int n,m,i,p;//计数变量         i=0;         printf("Please enter a number:");         scanf("%d",&num);         a=num;         num=Abs(num); //取输入数据的绝对值         printf("%d binary primitive code is ",a);         //原码的计算,见下:         if(a>=0)                 binary[0]=0;         else                 binary[0]=1;         printf("%d ",binary[0]);         do         {                 binary[i+1]=num%T;                 num=num/T;                 i++;                 n=i;                 m=i;                 p=i;         }while(num>0);//用循环计算数据的二进制原码,并依次放入数组binary中。         for(i--;i>=0;i--)         {                 printf("%d",binary[i+1]);//运用for循环从后往前把数据的二进制原码输出。         }         printf("\n");//换行。         //反码计算,见下:         if(a>=0)//先判断数据的正负。         {                 binary[0]=0;                 printf("%d binary inverse code is same with primitive code",a);//告知用户数据的反码和它的原码一样         }         //为负数时计算反码并输出。         else         {                 binary[0]=1;                 bin_i_c[0]=binary[0];                 printf("%d binary inverse code is ",a);                 printf("%d ",binary[0]);                 for(n--;n>=0;n--)                 {                         bin_i_c[n+1]=1-binary[n+1];                         bin_c[n+1]=bin_i_c[n+1];                         printf("%d",bin_i_c[n+1]);                 }         }         printf("\n");//负数反码是:除表符号项,其余各项0-1互换。         //补码算法         if(a<0)         {                 if(bin_c[i+2]==1)                 {                         while(bin_c[i+2]==1)                         {                                 bin_c[i+2]=0;                                 i++;                         }                         bin_c[i+2]=1;                 }                 else                 {                         bin_c[i+2]=1;                 }                 //输出指令                 printf("%d binary complement is ",a);                 printf("%d ",binary[0]);                 for(p;p>=1;p--)                 {                         printf("%d",bin_c[p]);//负数补码,是在反码的最后一位上加一,过一则进一。                 }         }         else         {                 printf("%d binary complement is same as binary primitive code.",a);//告知用户,正数的补码和它的原码,反码一样。         }         printf("\n");         printf("%d corresponding octal and hexadecimal number are %#o and %#x\n",a,a,a);//输出十六进制数和八进制数。         return 0; } int Abs(int x)//绝对值运算,取数据绝对值。 {         return (x>=0?x:-x); }//自己写的,有啥不对还请指教

评分

参与人数 1驿站币 +2 热心值 +2 收起 理由
58_avatar_small thzzl + 2 + 2 代码混淆高手!

查看全部评分

31_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-23 12:38:20 | 显示全部楼层
学习到了C语言,你会多少种将10进制转换为2进制的方法?
08_avatar_middle
最佳答案
3 
在线会员 发表于 2019-9-23 20:38:04 | 显示全部楼层
迟到了。2楼的方法不错。还有方法了。
58_avatar_middle
最佳答案
43 
ico_lz  楼主| 发表于 2019-9-23 20:41:16 | 显示全部楼层
SummerGull 发表于 2019-9-23 20:38
迟到了。2楼的方法不错。还有方法了。

不通过百度的话,你能想出几种方法?
51_avatar_middle
最佳答案
0 
在线会员 发表于 2019-9-24 09:43:39 | 显示全部楼层
学习了学习了C语言,你会多少种将10进制转换为2进制的方法?
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-1 01:37

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表