clwn.net
当前位置:首页 >> C语言10进制转2进制 >>

C语言10进制转2进制

下面是我编的十进制转二进制程序,请参考,有运行附图 #include<stdio.h> main() {int i=0,x,a[20]; printf("please input a number\n"); scanf("%d",&x); do {a[i++]=x%2; x=x/2; }while(x!=0); for(i=i-1;i>0;i--) /*我的输出方法是直接根据i的值得出我保存在a[i]里的数,然后循环逆向输出*/printf("%d",a[i]); printf("\n"); }

十进制转二进制可以使用库函数itoa.itoa函数原型:char*itoa(int value,char*string,int radix); 功能:将任意类型的数字转换为字符串.在<stdlib.h>中与之有相反功能的函数是atoi.nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等.参考代码:#include <stdio.h>#include<stdlib.h> int main() { int i=10; char a[100]; itoa(i,a,2); printf("%s\n",a); return 0; }/*1010*/

求十进制转换二进制C语言代码代码如下:#include <stdio.h>#define NR (sizeof(int)*8) // 二进制位的个数 void deciToBin(int num); // 十进制转换为二进制函数声明/* 主函数 */ int main(void) { int num; fprintf(stdout, "请输入一个正整数:");/*

对不起,我只会Qbasic语言.

10000101 对于这个来说 一般 最高位 为 符号位 0为+, 1为- 所以为 -5; short类型占2个字节,也就是 16位, 最大值为0111 1111 1111 1111. 进制之间的 转换,比如 10进制92 转换成 2进制,92/2 = 46 余数是 0,46/2 = 23 余数是 0,23/2 = 11 余数是 1, 11/2 = 5, 余数是1, 5/2 = 2,余数是 1, 2/2 = 1, 余数是 0, 所以2进制为 0111100(这里面的余数是从后往前计的).

"b\, &e); if(d< scanf("0) { printf("-" //保留最低位,最高位是符号位,经过上边的变化一定是0,做移位操作,获取2进制的相应比特位.&1 屏蔽掉其他位 } printf("/ 打印符号 d=~d+1;, (d> // printf("%d的二进制表达式是; i>);%d"%d">i)&1); /); 求反加一 (得到的是正整数表达式) } for(i=30; i--) { printf("0void main(){ int d, i

#include <stdio.h>void dtob(int k){ if(k>1) dtob(k/2); printf("%d",k%2);}int main(int argc,char *argv[]){ int n; printf("Input an integer\nn="); scanf("%d",&n); printf("%d(10) = ",n); dtob(n); printf("(2)\n"); return 0;}

#include void main() { int c=0,i,k; int g[32]; printf("请输入十进制数:\n"); scanf("%d",&i); while(i!=0) { k=i%2; g[c++]=k; i=i/2; } printf("二进制数:\n"); while(c>0) { printf("%d",g[--c]); } printf("\n"); }

第一:math.h头文件在这没用上,可删.第二:tol从二进制高位开始累加,先加的是最左边的数,所以每次加完以后,所有二进制数都要要左移一位.第三:tol+的是二进制数0或者1,而st字符串中每一位都是字符'0'或者'1',所以需要*st-'0'来把字符转换成数字.*st++为里循环取出每一个字符,++在后是先取值再加加.所以*st++-'0';就相当于*st-'0';st++;这两句.另外,你贴的代码二进制转十进制,不是十转二进制.

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com