用c语言编写函数把任意十进制数转换成二进制数

\u7528c\u8bed\u8a00\u7f16\u5199\u51fd\u6570\u628a\u4efb\u610f\u5341\u8fdb\u5236\u6570\u8f6c\u6362\u6210\u4e8c\u8fdb\u5236\u6570

C\u8bed\u8a00_010_\u4e8c\u8fdb\u5236\u8f6c\u5341\u8fdb\u5236_\u4e0a

1\u3001\u6253\u5f00visualC++6.0-\u6587\u4ef6-\u65b0\u5efa-\u6587\u4ef6-C++SourceFile\u3002




2\u3001\u8f93\u5165\u9884\u5904\u7406\u547d\u4ee4\u548c\u4e3b\u51fd\u6570\uff1a

#include /*\u8f93\u5165\u8f93\u51fa\u5934\u6587\u4ef6*/

voidmain()/*\u7a7a\u7c7b\u578b\uff1a\u4e3b\u51fd\u6570*/



3\u3001\u5b9a\u4e49\u53d8\u91cf\u548c\u6570\u7ec4\u7684\u6570\u636e\u7c7b\u578b\u5e76\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236\uff1a

intb[16],x,k,r,i;/*\u5b9a\u4e49\u53d8\u91cf\u548c\u6570\u7ec4\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u6574\u578b*/

printf("\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236:");/*\u8f93\u51fa\u6587\u5b57\u63d0\u793a*/

scanf("%d",&x); /*\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236\u6570\u5b57*/

k=-1;/*\u5c06-1\u8d4b\u7ed9k*/



4\u3001\u7528\u9664R\u53d6\u4f59\u5012\u8ba1\u6cd5\u5c06\u5341\u8fdb\u5236\u7684\u6570\u8f6c\u5316\u6210\u4e8c\u8fdb\u5236\u7684\u6570\uff1a

do/*\u7528\u5faa\u73af\u5c06\u5341\u8fdb\u5236\u7684\u6570\u8f6c\u5316\u6210\u4e8c\u8fdb\u5236\u7684\u6570*/

{

r=x%2;/*\u7528\u9664R\u53d6\u4f59\u5012\u8ba1\u6cd5\u8ba1\u7b97\u4e8c\u8fdb\u5236*/

b[++k]=r;/*\u5c06\u503c\u8d4b\u7ed9\u6570\u7ec4*/

x/=2;/*\u5c06\u539f\u6570\u96642*/

}while(x>=1);



5\u3001\u8f93\u51fa\u7ed3\u679c\uff1a

for(i=k;i>=0;i--) /*\u5c06\u4e0a\u9762\u5012\u8ba1\u7684\u6570\u6b63\u56de\u6765*/

printf("%d",b[i]);/*\u8f93\u51fa\u7ed3\u679c*/

printf("\n");



6\u3001\u5b8c\u6574\u7684\u6e90\u4ee3\u7801\uff1a

#include /*\u8f93\u5165\u8f93\u51fa\u5934\u6587\u4ef6*/

voidmain()/*\u7a7a\u7c7b\u578b\uff1a\u4e3b\u51fd\u6570*/

{

intb[16],x,k,r,i;/*\u5b9a\u4e49\u53d8\u91cf\u548c\u6570\u7ec4\u7684\u6570\u636e\u7c7b\u578b\u4e3a\u6574\u578b*/

printf("\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236:");/*\u8f93\u51fa\u6587\u5b57\u63d0\u793a*/

scanf("%d",&x); /*\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236\u6570\u5b57*/

k=-1;/*\u5c06-1\u8d4b\u7ed9k*/

do/*\u7528\u5faa\u73af\u5c06\u5341\u8fdb\u5236\u7684\u6570\u8f6c\u5316\u6210\u4e8c\u8fdb\u5236\u7684\u6570*/

{

r=x%2;/*\u7528\u9664R\u53d6\u4f59\u5012\u8ba1\u6cd5\u8ba1\u7b97\u4e8c\u8fdb\u5236*/

b[++k]=r;/*\u5c06\u503c\u8d4b\u7ed9\u6570\u7ec4*/

x/=2;/*\u5c06\u539f\u6570\u96642*/

}while(x>=1);

for(i=k;i>=0;i--) /*\u5c06\u4e0a\u9762\u5012\u8ba1\u7684\u6570\u6b63\u56de\u6765*/

printf("%d",b[i]);/*\u8f93\u51fa\u7ed3\u679c*/

printf("\n");

}

/*
输入整数(0结束) : 10
10 = (1010)2
输入整数(0结束) : 127
127 = (1111111)2
输入整数(0结束) : 255
255 = (11111111)2
输入整数(0结束) :
*/
#include <stdio.h>
#include <stdlib.h>
char *Converse(char s[],int n) {
int i,ch,m = 0;
while(n) {
s[m] = n%2 + '0';
n /= 2;
++m;
}
s[m] = '\0';
for(i = 0; i < m/2; ++i) {
ch = s[i];
s[i] = s[m - 1 - i];
s[m - 1 - i] = ch;
}
return s;
}

int main() {
int num;
char s[20];
while(1) {
printf("输入整数(0结束) : ");
scanf("%d",&num);
if(num == 0) break;
if(num < 0) num = -num;
printf("%d = (%s)2\n",num,Converse(s,num));
}
system("PAUSE");
return 0 ;
}

for(i=0; n<16; i++) //转化为二进制

还有这
for(i=0; n>=1; i++)

中间的n 都应该改成 i 吧?

for(i=0;n<16;i++) //转化为二进制

为什么是n<16??

  • 鐢╟璇█缂栧啓鍑芥暟鎶婁换鎰忓崄杩涘埗鏁杞崲鎴愪簩杩涘埗鏁
    绛旓細杈撳叆鏁存暟(0缁撴潫) : 10 10 = (1010)2 杈撳叆鏁存暟(0缁撴潫) : 127 127 = (1111111)2 杈撳叆鏁存暟(0缁撴潫) : 255 255 = (11111111)2 杈撳叆鏁存暟(0缁撴潫) :/ include <stdio.h> include <stdlib.h> char *Converse(char s[],int n) { int i,ch,m = 0;while(n) { s[m] = n%2 + '0...
  • 鐢╟璇█缂栧啓鍑芥暟鎶婁换鎰忓崄杩涘埗鏁杞崲鎴愪簩杩涘埗鏁
    绛旓細include<stdio.h> main(){ int i,n,k,x[10];scanf("%d",&n);for(i=0;n!=0;i++)//n涓嶇瓑浜0鏃...{ x[i]=n%2;n=n/2;} for(k=i-1;k!=(-1);k--)//k鍒濆鍊间负i-1锛宬鐨勬潯浠朵负涓嶇瓑浜-1 printf("%d",x[k]);//杈撳嚭x[k]锛岃屼笉鏄痻[i]} ...
  • 姹傛暀,缂栧啓鍑芥暟,鎶鎶婁换鎰忓崄杩涘埗姝f暣鏁拌浆鎹㈡垚浜杩涘埗鏁杈撳嚭
    绛旓細鎶婁换鎰忓崄杩涘埗姝f暣鏁拌浆鎹㈡垚浜杩涘埗鏁杈撳嚭鐨鍑芥暟濡備笅锛歱ublic class TenToTwo { public static void main(String[] args) { System.out.println("鍗佽繘鍒惰浆鎹负浜岃繘鍒剁粨鏋滀负锛");getTwo(17);} public static void getTwo(int n){ List<Integer> list = new LinkedList<>();while (n!=0){ list...
  • 缂栧啓鍑芥暟鎶婁换鎰忓崄杩涘埗姝f暣鏁拌浆鎹㈡垚浜杩涘埗鏁銆
    绛旓細//鏈绗﹀悎棰樻剰鐨勭瓟妗堬紝娌℃湁瓒呰繃鏈珷鐭ヨ瘑鐐癸紝鍙互瀹屽叏鍗囩骇涓嬮潰鐨勭瓟妗堬紝绠娲佹槑浜 include<stdio.h> int tow(int *,int);int tow(int a[],int n){int yu=0;while(n!=0){ a[yu]=n%2;n=n/2;yu++;} return yu;} int main(){ int a[10000],num,n;printf("input num:");scanf(...
  • c璇█ 缂栧啓婧愮▼搴,瀹炵幇:杈撳叆浠绘剰涓涓鍗佽繘鍒舵暟,灏鍏舵寜鍏繘鍒躲佸崄鍏繘鍒惰緭...
    绛旓細include "stdio.h"main(){ unsigned int i;scanf("%d", &i);printf("\n OCT:%o, HEX:%X\n", i, i);}
  • 鐢–璇█缂栫▼:灏嗕换鎰涓涓鍗佽繘鍒舵暟杞崲鎴愪簩杩涘埗鏁板摝,鎸変綅瀛樻斁鍒版暟缁勪腑_鐧...
    绛旓細void main(void){ int nDec,nArry[33]={NULL,},x=0;;unsigned i;printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒鏁存暟...\n杈撳叆鐨勬暣鏁版槸:nDec=");scanf("%d",&nDec);printf("瀵瑰簲鐨勪簩杩涘埗鏄:");if(!nDec) printf("%d",*nArry=0);else{ for(i=0x80000000;!(i&nDec);i>>=1);for(;i;i>>=1)print...
  • 涓閬c璇█缂栫▼棰,灏嗗崄杩涘埗杞崲涓轰簩杩涘埗
    绛旓細/*2銆缂栫▼瀹炵幇灏嗕换鎰鐨鍗佽繘鍒鏁存暟杞崲鎴怰杩涘埗鏁(R鍦2-16涔嬮棿)銆*/ #include <stdio.h> int a[8]; int main() { int n,j; void binary(int n); printf("please input the number:"); scanf("%d",&n); printf("the number you want to transform:"); scanf("%... 灞曞紑 demax...
  • C璇█缂栧啓涓涓鍑芥暟灏嗗崄杩涘埗杞崲
    绛旓細int i,p[30]={0};p[0]=a;for(i=1;i<30;i++){ p[i]=p[i-1]/n;p[i-1]%=n;} for(i=29;i>=0;i--)if(p[i]!=0)break;for(;i>=0;i--)printf("%d ",p[i]);} int main(){ int a,n;printf("杈撳叆涓涓暣鏁癨n");scanf("%d",&a);printf("杈撳叆瑕佽浆鎹㈢殑杩...
  • 濡備綍鐢–璇█缂栧啓閫掑綊鍑芥暟,瀹炵幇浠绘剰鍗佽繘鍒鏁存暟鍒板崄鍏繘鍒舵暣鏁扮殑杞崲,骞...
    绛旓細void change(){ int n;//n灏辨槸浣犺杞崲鐨鍗佽繘鍒舵暟 char ch[10]={'\0'};while(i<10){ if(n%16==0)ch[i]=0;else ch[i]=n%16;i++;} int len=char.length();for(int i=len-1;i>=0;i--)sprintf("%c",ch[i]);} ...
  • C璇█涓,缂栧啓涓涓▼搴,浣浠绘剰杈撳叆鐨勪竴涓鍗佽繘鍒舵暟,鍙樻垚鍊掑彊,鎬!!!璋...
    绛旓細include <stdio.h>main(){ int a; printf("Please input a Number\n"); scanf("%d",&a); printf("Out:"); while(a>0) { printf("%d",a%10); a=a/10; } return 0;}
  • 扩展阅读:c++十进制直接转二进制 ... 十进制换二进制c语言 ... c语言进制转换怎么写 ... c语言八进制表示方法 ... c语言十进制怎么表达 ... c语言如何调用函数 ... 用c语言编写进制转换 ... c语言有几种进制 ... c语言%几是二进制 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网