二進位制數的 1’s 和 2’s 補碼?
二進位制數以 2 為基數表示。它只使用兩個數字,0 和 1。二進位制數中的每個數字都是一個位。
二進位制數範例:0100010111
1’s 補碼
二進位制數的一位補碼透過反轉二進位制數的各位獲得,即 0 換 1,1 換 0。
例
1’s Complement of 101100 = 010011
2’s 補碼
二進位制數的二位補碼透過對二進位制數的一位補碼加 1 獲得,即 一位補碼 + 1。
例
2’s complement of 101101 is 010011.
示例程式碼
用於求二進位制數的一位補碼和二位補碼的程式碼:-
#include <iostream>
#include<string.h>
using namespace std;
int main() {
char binary[10] = "01001011";
cout<<“Binary number is ”<<binary;
//once complement....
int length = strlen(binary);
for(int i=0;i<length;i++) {
if(binary[i] == '0') {
binary[i]= '1';
} else
binary[i] = '0';
}
cout<<“One’s Complement is ”<<binary<<endl;
// cout<<binary[length-1];
for(int i = length-1; i>=0; i--) {
// cout<<binary[i];
if(binary[i] == '0') {
binary[i] = '1';
//cout<<binary[i];
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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP