用C语言编程实现十进制转化为二进制 c语言编程,如何将十进制转化为2进制

c\u8bed\u8a00\u7f16\u7a0b\uff0c\u5982\u4f55\u5c06\u5341\u8fdb\u5236\u8f6c\u5316\u4e3a2\u8fdb\u5236

c\u8bed\u8a00\u7f16\u7a0b\u5c06\u5341\u8fdb\u5236\u8f6c\u5316\u4e3a2\u8fdb\u5236\u53ef\u6309\u624b\u5de5\u8f6c\u6362\u89c4\u5219\u8fdb\u884c\u7a0b\u5e8f\u8f6c\u6362\u3002
\u6574\u6570\u5360\u56db\u4e2a\u5b57\u8282\uff0c\u6bcf\u5b57\u82828\u4f4d\uff0c\u517132\u4f4d\u3002\u6240\u4ee5\uff0c\u53ef\u4ee5\u5b9a\u4e49\u4e00\u4e2a32\u4f4d\u7684\u6570\u7ec4\u6765\u5b58\u50a8\u8f6c\u6362\u7ed3\u679c\u3002
\u5faa\u73af\u5c06\u6574\u6570\u8fdb\u884c\u96642\u53d6\u4f59\u6570\uff0c\u4f59\u6570\u5b58\u50a8\u5230\u6570\u7ec4\u4e2d\u3002
\u5f53\u6574\u6570\u6574\u9664\u4e3a0\u65f6\uff0c\u7ed3\u675f\u5faa\u73af
\u9006\u5e8f\u8f93\u51fa\u6570\u7ec4\uff0c\u5f97\u5230\u8f6c\u6362\u7ed3\u679c
\u53c2\u8003\u4ee3\u7801\uff1a
#include void main(){ int c[32],i=0,n; scanf("%d", &n) ; //\u8f93\u5165\u5f85\u8f6c\u6362\u6574\u6570n do { c[i++]=n%2; n/=2; } while(n!=0) ; for(i--;i>=0;i--) printf("%d",c[i] ); printf("\n");}

#include
"stdio.h"
#define
StackSize
100
typedef
int
ElemType;
typedef
struct
{
ElemType
elem[StackSize];
int
top;
}SqStack;
InitStack(SqStack
*pS)
{
pS->top=0;
/*
top\u6307\u5411\u6808\u9876\u7684\u4e0a\u4e00\u4e2a\u5143\u7d20
*/
}
int
Push(SqStack
*pS,ElemType
e)
{
if
(pS->top==StackSize-1)
/*
\u6808\u6ee1
*/
return
0;
pS->elem[pS->top]=e;
pS->top=pS->top+1;
return
1;
}
int
Pop(SqStack
*pS,ElemType
*pe)
{
if
(pS->top==0)
/*
\u6808\u7a7a
*/
return
0;
pS->top
=
pS->top
-
1;
*pe
=
pS->elem[pS->top];
return
1;
}
main()
{
SqStack
S;
ElemType
e;
int
N;
InitStack(&S);
printf("\u8bf7\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236\u6574\u6570\uff1a\n");
scanf("%d",&N);
do
{
e
=
N
%
2;
Push(&S,e);
N
=
N/2;
}
while(N);
while(Pop(&S,&e))
{
printf("%d",e);
}
printf("\n");
return
0;
}

有两种计算方法,运行的结果是完全相同的:
一是采用位运算的方法:
#include
int main()
{ int n,i;
scanf("%d",&n);
for(i=31;i>=0;i--)
printf("%d",(n&(1<<i))!=0);
return 0;
}
二是采用楼主指定的方法:
#include
int a[32];
int main()
{ int n,i,k=0;
scanf("%d",&n);
if(n<0)k=1;
for(i=31;n;i--)
{a[i]=n%2;
n/=2;
}
if(k==1)
{for(i=31;i>=0;i--)
a[i]=1+a[i];
for(i=31;a[i];i--)
a[i]=0;
a[i]=1;
}
for(i=0;i<32;i++)
printf("%d",a[i]);
return 0;
}



C语言_010_二进制转十进制_上



有一种骚操作可以很快实现这个

发不了代码就发图吧emmm

得到的结果确实是没问题的emmm

如果你是c语言不是c++的话,可以了解一下这样搞





  • c璇█闂:杈撳叆涓涓鍗佽繘鍒鏁,灏鍏杞寲涓轰簩杩涘埗鏁板悗瀛樻斁鍦ㄦ暟缁勪腑骞惰緭鍑...
    绛旓細//灏杞崲鍑烘潵鐨鍗佽繘鍒鏁皊um鍔犱竴 sum+=1;//printf("sum=%d\n",sum);//鏈鍚庡啀杞垚浜杩涘埗pwm_table return transform_data_zhengshu(sum,pwm_table);} //姝f暟 return transform_data_zhengshu(frequence,pwm_table);} int main(){ int frequence=-2;//scanf("%d",&frequence);ushort pwm_...
  • 鐢–璇█濡備綍灏嗗崄杩涘埗杞崲涓轰簩杩涘埗
    绛旓細3銆佽緭鍏鍗佽繘鍒鏁帮細printf("璇疯緭鍏ヤ竴涓崄杩涘埗鏁(0~32767):\n");scanf("%d", &n); /*杈撳叆n鐨勫*/ 4銆佽绠浜岃繘鍒鏁帮細for (m = 0; m < 15; m++) /*for寰幆浠0鍒14锛屾渶楂樹负绗﹀彿浣嶏紝鏈濮嬬粓涓0*/ { i = n % 2; /*鍙2鐨勪綑鏁*/ j = n / 2; /*鍙栬2鏁...
  • C璇█:灏杈撳叆鐨鍗佽繘鍒姝f暣鏁皀杞崲涓轰簩杩涘埗鏁,骞跺皢杞崲缁撴灉杈撳嚭,杞崲...
    绛旓細2銆佸畾涔夊彉閲忓拰鏁扮粍锛#include <stdio.h>#include <string.h>void main(){ long t1;int i, n, t, t3;char a[100]銆3銆 杈撳叆瀛楃锛 printf("璇疯緭鍏ュ瓧绗:\n"); gets(a); /*杈撳叆n杩涘埗鏁板瓨鍒版暟缁刟涓*/strupr(a); /*灏a涓殑灏忓啓瀛楁瘝杞崲鎴愬ぇ鍐欏瓧姣*/t3 = strlen(a); /*姹...
  • c璇█杈撳叆涓涓鍗佽繘鍒鏁,杞崲鎴愬搴旂殑浜岃繘鍒
    绛旓細include<stdio.h>#include<string.h>#include<stdlib.h>void reverse(char a[]){ int n = strlen(a); int i=0; int j = n-1; char t; while(i<j) { t = a[i]; a[i] = a[j]; a[j] = t; i = i+1; j--; } return;}void...
  • 鎬庢牱灏1840鐢╟璇█缂栫▼杞寲涓轰簩杩涘埗?
    绛旓細浠ヤ笅绋嬪簭瀹炵幇涓涓鍗佽繘鍒鏁板埌浜岃繘鍒鏁扮殑杞崲(璇ュ崄杩涘埗鏁板彲浠ユ槸姝f暟锛屽皬鏁帮紝璐熸暟鍜屾暣鏁)锛屾簮绋嬪簭濡備笅锛歩nclude<stdio.h> include<math.h> void main(){ int i=0,j,a[20],b[20],k,c=0;double m,x,d;printf("璇疯緭鍏ラ渶瑕佽浆鎹㈢殑鏁:");scanf("%lf",&x);if(x<0)m=fabs(x);else m=x...
  • c璇█缂栧啓涓涓绋嬪簭瀹炵幇鏃犵鍙鍗佽繘鍒杞崲涓轰簩杩涘埗鏁
    绛旓細n2[i++]=','; } n2[i++]=n%2+'0'; n=n/2; cont++; } n2[i++]=n+'0'; //---鎵撳嵃--- while(i-->0) printf("%c",n2[i]);}
  • 涓閬c璇█缂栫▼棰,灏嗗崄杩涘埗杞崲涓轰簩杩涘埗
    绛旓細1銆佹墦寮visual C++ 6.0-鏂囦欢-鏂板缓-鏂囦欢-C++ Source File銆2銆佸畾涔夋暟缁勫拰鍙橀噺锛#include <stdio.h>#include <stdlib.h>void main(){int i, j, n, m;*瀹氫箟鍙橀噺i,j,n,m*/int a[16] ={0}/*瀹氫箟鏁扮粍a,鍏冪礌鍒濆鍊间负0*/system("cls");/*娓呭睆*/銆3銆佽緭鍏鍗佽繘鍒鏁帮細printf("璇疯緭鍏ヤ竴...
  • c璇█缂栫▼灏嗗崄杩涘埗鏁杞寲涓轰簩杩涘埗鏁版庝箞缂,姹傛寚瀵?
    绛旓細include<stdio.h> int main(){ int n=15,r,k=0,i,b[8]={0};do {r=n%2;b[k++]=r;n/=2;}while(n);for(i=7;i>=0;i--)printf("%d",b[i]);return 0;}
  • 鍗佽繘鍒惰浆浜岃繘鍒 c璇█绋嬪簭
    绛旓細include<stdio.h> include<stdlib.h> int getlen(int n){ if(n==0||n==1)return 1;else return getlen(n/2)+1;} void main(){ int n,t;int a [100];int i;printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒鏁:\n");scanf("%d",&n);t=getlen(n)-1;for(i=0;i<=t;i++){ a[i]=n%2;n...
  • 扩展阅读:学编程一年大概多少钱 ... 如何自己编程做游戏 ... 手机c++编程软件 ... 初中生学编程c十十 ... c++学多久可以考csp ... 学编程的十大忠告 ... 三类人不适合学编程 ... 电脑编程 ... 学编程一般不要超过多少岁 ...

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