Доповнення 2s у C генерується з доповнення 1s у C. Як ми знаємо, доповнення 1s до двійкового числа створюється шляхом перетворення біта 1 на 0 і 0 на 1; доповнення 2s до двійкового числа генерується шляхом додавання одиниці до доповнення 1s двійкового числа.
Коротше кажучи, ми можемо сказати, що доповнення 2s у C визначається як сума доповнення до одиниці в C та одиниці.
На наведеному вище малюнку двійкове число дорівнює 00010100, а його доповнення до одиниці обчислюється шляхом перетворення біта 1 в 0 і 0 в 1 навпаки. Таким чином, доповнення до одиниці стає 11101011. Після обчислення доповнення до одиниці ми обчислюємо доповнення до двох, додаючи 1 до доповнення до одиниці, і результатом є 11101100.
Створимо програму доповнення 2s.
#include int main() { int n; // variable declaration printf('Enter the number of bits do you want to enter :'); scanf('%d',&n); char binary[n+1]; // binary array declaration; char onescomplement[n+1]; // onescomplement array declaration char twoscomplement[n+1]; // twoscomplement array declaration int carry=1; // variable initialization printf(' Enter the binary number : '); scanf('%s', binary); printf('%s', binary); printf(' The ones complement of the binary number is :'); // Finding onescomplement in C for(int i=0;i<n;i++) { if(binary[i]="='0')" onescomplement[i]="1" ; else } onescomplement[n]="