// Πρόγραμμα C για τη μετατροπή του δεδομένου αριθμού στο συμπλήρωμα του 2
#include
// Συνάρτηση για τη μετατροπή δεκαδικού σε δυαδική αναπαράσταση ενός αριθμού
int decToBinary(int n)
{
int binaryNum[32];
int i =0;
ενώ (n> 0)
{
binaryNum[i] =n % 2;
n =n / 2;
i++;
}
για (int j =i - 1; j>=0; j--)
printf("%d", binaryNum[j]);
printf("\n");
}
// Μια συνάρτηση για τη μετατροπή του δυαδικού στο συμπλήρωμα των 2 της
int binaryTo2sComplement(int binaryNum[], int n)
{
int i?
για (i =0; i
για (i =n - 1; i>=0; i--)
{
εάν (δυαδικός αριθμός[i] ==0)
binaryNum[i] =1;
αλλού
διακοπή;
}
}
// Πρόγραμμα οδήγησης
int main()
{
int n;
printf("Εισαγάγετε έναν δεκαδικό αριθμό:");
scanf("%d", &n);
decToBinary(n);
printf("Το συμπλήρωμα του 2 είναι:");
int binaryNum[32];
int len =32;
int decToBin =decToBinary(n);
binaryTo2sComplement(binaryNum, len);
decToBinary(decToBin);
επιστροφή 0;
}
```
Παραγωγή:
```
Εισαγάγετε έναν δεκαδικό αριθμό:10
1010
Το συμπλήρωμα 2 του είναι:0101
```
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα