C语言编程题将十进制M转换成二进制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程题将十进制M转换成二进制相关的知识,希望对你有一定的参考价值。

1.要用C语言
2.我的思路是:M%2取余,将所有的余数放入一个数组,然后在用递减循环把余数输出,满足转换。
我有思路但是写不出来,哪位受累帮我实现一下。非常感谢……

#include <stdio.h>
void main()

int a[32]=0,i;
long num;
i=0;
printf("请输入一个十进制数:");
scanf("%ld",&num);
printf("%ld的二进制数为:",num);
while(num>=1)

a[i]=num%2;
num=num/2;
i++;

for(i=i-1;i>=0;i--)

printf("%d",a[i]);

printf("\n");


这是我写的程序 要转八进制只需把这a[i]=num%2;num=num/2;两句改为a[i]=num%8;
num=num/8;
参考技术A 思路是对的,自己思考思考吧,用一个循环语句就可以了。 参考技术B void main()

long input;
for ( scanf ( "请输入正整数:\n%ld", &input ); input ;printf ( "%d", (input&0x80000000)!=0 ), input<<=1 );
参考技术C 用这个函数
void DisplayBits(unsigned value)

unsigned displayMask;
unsigned n;
int i;
n=sizeof(unsigned)*8;
displayMask=1<<(n-1);
for(i=0;i<n;i++)

putchar(value&displayMask?'1':'0');
displayMask=displayMask>>1;



就是通过位运算符

如何用C#把十六进制转换成十进制的代码?

publicstringDtoX(intd)

stringx="";

if(d<16)

x=chang(d);

else

intc;

ints=0;

intn=d;

inttemp=d;

while(n>=16)

s++;

n=n/16;

string[]m=newstring[s];

inti=0;

do

c=d/16;

m[i++]=chang(d%16);//判断是否大于10,如果大于10,则转换为A~F的格式

d=c;

while(c>=16);

x=chang(d);

for(intj=m.Length-1;j>=0;j--)

x+=m[j];

returnx;

//判断是否为10~15之间的数,如果是则进行转换

publicstringchang(intd)

stringx="";

switch(d)

case10:

x="A";

break;

case11:

x="B";

break;

case12:

x="C";

break;

case13:

x="D";

break;

case14:

x="E";

break;

case15:

x="F";

break;

default:

x=d.ToString();

break;

returnx;

参考技术A

可以用int aaa int = Convert.ToInt32(aaa,16); 来转换。十六进制的ABCD = 十进制的(((A*16+B)*16+C)*16+D)*16。

一、用ToString()方法就行int i = 13。string s = i.ToString("X2")。ToString()的参数 X表示十六进制字符串,数字2表示显示位数结果为:0Dstring s = i.ToString("X1")。结果为:D

二、操作代码:intmyTempR=int.Parse(this.myBnum.Text,System.Globalization.NumberStyles.HexNumber);for ( int i=0; i<this.myRnum.Text.Length; i+=2 )  myTempR -=int.Parse(this.myRnum.Text.Substring(i,2),System.Globalization.NumberStyles.HexNumber); int myTemp01 = myTempR.ToString("X").Length;if (  myTemp01 > 4 ) this.myResult.Text = myTempR.ToString("X").Substring(myTemp01-4); else   this.myResult.Text=myTempR.ToString("X")。

三、string s = "";  //一串字符string[] a = s.ToString().Split(' ');for(int i = 0; i < a.Length; i ++)
int b = Convert.ToInt32(a[i],16);。

以上是关于C语言编程题将十进制M转换成二进制的主要内容,如果未能解决你的问题,请参考以下文章

n进制转成m进制的方法

C语言,如何把输入的一个字符串,转换为相应的二进制数?

c语言中如何将16进制字符串转化成10进制整数?

c语言 数制转换(递归)

在C语言中如何将10进制转换成16进制?

求c语言将十进制数转换为16进制的函数