原碼、反碼和補碼是用來表示有符號數(shù)的三種表示方法。其中,原碼最高位表示符號位,0表示正數(shù),1表示負數(shù);反碼就是將原碼的符號位不變,其余位按位取反得到的碼;補碼就是反碼加1。
以8位有符號數(shù)為例,假設要求+3的補碼,則步驟如下:
將3的絕對值用二進制表示為0000 0011(8位)
補碼的最高位是符號位,0表示正數(shù),1表示負數(shù),因為+3是正數(shù),所以符號位為0
將步驟2得到的符號位和步驟1的二進制數(shù)拼接起來,得到0000 0011
由于步驟3中符號位為0,因此該數(shù)的原碼、反碼和補碼均為0000 0011