バイナリ符号化と原符号換算
851 ワード
補コード=原コードを逆にして1を加える
アルゴリズム1
アルゴリズム2
負数符号化速算法は、最下位ビット(右)から上位ビット(左)に第1の1とシンボルビットとの間のすべての数字がビットによって逆をとる逆演算
アルゴリズム1
10010110
は補符号であり、まず1を減算して逆符号にし、10010101
を得るべきである.逆符号から取得したソース符号daoは、符号ビットを除いてビット毎に逆を取り、11101010
、すなわち10進数の-106
を得るアルゴリズム2
負数符号化速算法は、最下位ビット(右)から上位ビット(左)に第1の1とシンボルビットとの間のすべての数字がビットによって逆をとる逆演算
10010110
が符号化であり、シンボルビットと最後の1との間のすべての数字(1
00101 1
0)がビットによって逆を取り、11101010
を得る&
ビットと演算子:演算に参加する2つの値、2つの対応するビットが1 |
ビットまたは演算子である場合:対応する2つのバイナリビットが1である限り、結果ビットは1 ^
ビットまたは演算子である:2つの対応するバイナリビットが異なる場合、~
ビット逆演算子:データの各バイナリビットに対して逆、すなわち1を0に変更し、0を1に変更します.~x
は-x-1
<<
左移動演算子に似ています.演算数の各バイナリはすべて左にいくつかのビットを移動し、左に1つのビットを移動するのは2 >>
右移動演算子を乗じるのと同じです.">>"左の演算数の各バイナリをすべて右にいくつかのビットを移動し、右に1つのビットを移動するのは2で割ることに相当します.