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