高手请过目

来源:百度知道 编辑:UC知道 时间:2024/06/03 13:56:22
输入2个2进制数 求他们的最大公约数 用2进制 10进制 16进制 表示 的程序

完全原创,已经编译运行确认:

#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>

char trs(int i)
{
char c=0;
if(i/10)c=i+55;
else c=i+48;
return c;
}
void get16Result(int x)
{
char a[20];
int i,t,length;

for(i=0;x!=0;){t=x&15;a[i++]=trs(t);x=x>>4;}
a[i]=0;
length=strlen(a);
for(;length>=0;length--)printf("%c",a[length]);
}

int binarytodecimal( char *b, int b_count )
{
int result = 0;

for ( int i = b_count; i >= 0; i-- )
if ( b[i] == '1' )
result = result + pow( 2.0, b_count - i );

return result;
}

void decimaltobinary( int d )
{
int d_count = 0;
char p[20];

while ( d > 0 )
{
p[d_count++] = d % 2 + 48;
d = ( d - d % 2 ) / 2;
}