Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cari pelengkap 2 bagi nombor perduaan yang diberi menggunakan C

Cari pelengkap 2 bagi nombor perduaan yang diberi menggunakan C

PHPz
PHPzke hadapan
2023-09-05 15:21:061232semak imbas

Cari pelengkap 2 bagi nombor perduaan yang diberi menggunakan C

Pertimbangkan contoh yang diberikan di bawah -

Contoh

#🎜🎜🎜#Enters :######Nombor binari input: 10010001#🎜🎜 ## 🎜🎜 ## 🎜🎜#outputseperti berikut:🎜🎜#1 hingga 10010001# kod pelengkap 1 hingga 10010001

2 Pelengkap 10010001 ialah 01101111

Algoritma

Rujuk algoritma untuk mencari pelengkap 2'c bagi nombor binari yang diberi.

Langkah 1 - Bermula.

Langkah 2 - Baca nombor perduaan semasa runtime.

Langkah 3 - Salin nombor binari ke strdp.

Langkah 4 - len: = strlen(str)

Langkah 5 - Untuk i = 0 hingga len-1 laksanakan

#🎜🎜 -# Jika Langkah 5.1 str [i] == '1' kemudian#🎜🎜 ## 🎜🎜#langkah 5.1.1 - str [i] == '0'#🎜🎜 ## 🎜🎜#s 's' s - to to

Langkah 5.2.1 - str[i] == '1'

Langkah 5.3 - i: = i+1

Langkah 5.3 - i: = i +1

p>

Langkah 6 - Topeng: = 1

Langkah 7 - Untuk i: = len-1 hingga 0 laksanakan #🎜🎜 ##🎜 🎜# Langkah 7.1 - Jika topeng == 1 maka

Langkah 7.1.1 − Jika str[i] == '1' Kemudian

Langkah 7.1 − str. i]: = '0'

          Langkah 7.1.1.2 − topeng: = 1

      Langkah 7.1.2 − 1.#🎜🎜 − str[i]: = '1'

Langkah 7.1.2.2 - Topeng: = 0

Langkah 7.1.3 - Tamat jika#🎜🎜 ##🎜🎜 Langkah 7.2 - Tamat jika

Langkah 8 - Cetak pelengkap 2.

Langkah 9 - Berhenti.

p>Program

Berikut ialah program C untuk

mencari pelengkap 2'c bagi nombor binari yang diberi

-

#🎜 🎜# Demonstrasi Langsung

#include <string.h>
#include<stdio.h>
main(){
   char str[32],strdp[32];
   int mask,i;
   printf("Enter a binary number:");
   scanf("%s",str);
   strcpy(strdp,str);
   for(i=0;i<strlen(str);i++) /* computing 1&#39;s complement */{
      if(str[i]==&#39;1&#39;)
         str[i]=&#39;0&#39;;
      else
         str[i]=&#39;1&#39;;
   }
   printf("1\&#39;s complement of %s is %s</p><p>",strdp,str);
   mask=1;
   for(i=strlen(str)-1;i>=0;i--){
      if(mask==1){
         if(str[i]==&#39;1&#39;){
            str[i]=&#39;0&#39;;
            mask=1;
         }
         else{
            str[i]=&#39;1&#39;;
            mask=0;
         }
      }
   }
   printf("2\&#39;s complement of %s is %s",strdp,str);
}

Output

Apabila program di atas dilaksanakan, keputusan berikut akan dihasilkan-

Enter a binary number:11001110
1&#39;s complement of 11001110 is 00110001
2&#39;s complement of 11001110 is 00110010
#🎜🎜

Atas ialah kandungan terperinci Cari pelengkap 2 bagi nombor perduaan yang diberi menggunakan C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam