বাইনারি সংখ্যা বেস ২-এ প্রকাশ পায়। এটি শুধু '০' এবং '১' ডিজিট ব্যবহার করে। প্রতিটি ডিজিটকে বিট বলা হয়।
নমুনা বাইনারি সংখ্যা: ০১০০০১০১১১
১'র কমপ্লিমেন্ট (One's Complement)
বাইনারি সংখ্যার সব ডিজিট উল্টে দিয়ে (১ কে ০, ০ কে ১) ১'র কমপ্লিমেন্ট পাওয়া যায়।
উদাহরণ
১'র কমপ্লিমেন্ট of 101100 = 010011
২'র কমপ্লিমেন্ট (Two's Complement)
১'র কমপ্লিমেন্টে ১ যোগ করলে ২'র কমপ্লিমেন্ট পাওয়া যায়। অর্থাৎ ১'র কমপ্লিমেন্ট + ১।
উদাহরণ
২'র কমপ্লিমেন্ট of 101101 = 010011
উদাহরণ কোড
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char binary[10] = "01001011";
cout << "Binary number is " << binary;
// ১'র কমপ্লিমেন্ট
int length = strlen(binary);
for (int i = 0; i < length; i++) {
if (binary[i] == '0')
binary[i] = '1';
else
binary[i] = '0';
}
cout << "\nOne's Complement is " << binary << endl;
// ২'র কমপ্লিমেন্ট
for (int i = length - 1; i >= 0; i--) {
if (binary[i] == '0') {
binary[i] = '1';
break;
} else {
binary[i] = '0';
}
}
cout << "Two's complement is " << binary;
return 0;
}
আউটপুট
Binary number is 01001011 One's complement is 10110100 Two's complement is 10110101