- Κώδικας: Επιλογή όλων
#include <stdio.h>
void main() {
int bin2dec(char *ena); void dec2bin(int ena,char *dyo);
char *binary_x,*binary_y;
char binary_z[9];
int decimal_x,decimal_y,decimal_z;
binary_x = "01001100";
binary_y = "11001110";
decimal_x = bin2dec(binary_x);
decimal_y = bin2dec(binary_y);
decimal_z = decimal_x & decimal_y;
dec2bin(decimal_z,binary_z);
printf(" %s (=%d)\nAND %s (=%d)\n-------------------\n %s (=%d)\n",binary_x,decimal_x,binary_y,decimal_y,binary_z,decimal_z);
}
//Apo dyadiko se dekadiko
int bin2dec(char *bin) {
int b,k,m,n,strlen();
int len,sum=0;
len=strlen(bin)-1;
for(k = 0; k <= len; k++) {
n = (bin[k] - '0');
if ((n>1)||(n<0)) {
puts("\n\n ERROR! BINARY has only 1 and 0!\n");
return (0);
}
for(b = 1, m = len; m > k; m--) {
b *= 2;
}
sum = sum + n*b;
}
return(sum);
}
//Apo dekadiko se dyadiko
void dec2bin(int decimal, char *binary)
{
int k=0,n=0,neg_flag=0;
int remain,old_decimal;
char temp[80];
if (decimal < 0) {
decimal = -decimal;
neg_flag = 1;
}
do {
old_decimal = decimal;
remain = decimal % 2;
decimal = decimal / 2;
temp[k++] = remain + '0';
} while (decimal > 0);
if (neg_flag) temp[k++] = '-';
else temp[k++] = ' ';
while (k >= 0) binary[n++] = temp[--k];
binary[n-1] = 0;
}
Επειδή απ'ότι έμαθα pointers, πίνακες, if, επαναλήψεις κτλ ΔΕΝ έχετε κάνει, μπορείτε να πείτε ότι τις βρήκατε τις συναρτήσεις που κάνουν τις μετατροπές στο internet και απλά γράψατε τη main() (να δείξετε ότι ξέρατε πως να τις χρησιμοποιήσετε δηλαδή). Νομίζω η main() είναι αρκετά απλή για έναν αρχάριο στη C...