C语言编程题将十进制M转换成二进制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程题将十进制M转换成二进制相关的知识,希望对你有一定的参考价值。
1.要用C语言
2.我的思路是:M%2取余,将所有的余数放入一个数组,然后在用递减循环把余数输出,满足转换。
我有思路但是写不出来,哪位受累帮我实现一下。非常感谢……
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转换成二进制的主要内容,如果未能解决你的问题,请参考以下文章