原碼反碼和補碼詳解

2021-08-09 08:30:55 字數 889 閱讀 7583

1:有符號資料表示法

在計算機內,有符號數有三種表示法:原碼,反碼,補碼,所有資料的運算都是採用內補碼進行的,在計算機操作的時候,都是採用資料對於的二進位制補碼來計算的,在記憶體中的儲存

1:原碼

就是二進位制定點表示法,即最高位為符號位,"0"表示正,"1"表示負,其餘位表示數值的大小

2:反碼

正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外.

3:補碼

正數的補碼與其原碼相同,負數的補碼是在其反碼的末位加1

2:案例demo

1:原碼

正數的原碼最高位是0,,負數的原碼最高位是1,其他的是數值位

符號位數值位+70

0000111-71

0000111

2:反碼

正數的反碼與原碼相同,負數的反碼與原碼符號位相同,數值位相反,就是1變0,0變1

符號位數值位+70

0000111-71

1111000

3:補碼

正數的補碼與原碼相同,負數的補碼是在反碼的基礎上加1

符號位數值位+70

0000111-71

1111001

4:關於原碼,反碼,補碼的練習題

1:已知某數x的原碼為10110100b,求出x的補碼和反碼

b字尾,表示二進位制,將x數值分為符號位和數值位,如果是1,表示就是負數,

符號位數值位原碼1

0110100反碼1

1001011補碼1

1001100

2:已知某數x的補碼是11101110b,是求出其原碼

符號位數值位補碼1

1101110反碼1

1101101(0減去1減不了,借一位,變成2減去1,原碼1

0010010

原碼 反碼 補碼詳解

在求解一些問題的時候,難免會涉及到補碼,特別是負數,它是以正數的補碼形式儲存在計算機中,有時候需要將補碼轉換成原碼,要是不理解其中的關係就很難下手。下面先講一下機器數和真值,首先要理解什麼是機器數,它是數字在計算機中的二進位制表示形式,而真值則是字面上理解的意思。舉個例子,當機器字長為8位時,3的機...

原碼,反碼,補碼,詳解

本篇文章講解了計算機的原碼,反碼和補碼.並且進行了深入探求了為何要使用反碼和補碼,以及更進一步的論證了為何可以用反碼,補碼的加法計算原碼的減法.論證部分如有不對的地方請各位牛人幫忙指正 希望本文對大家學習計算機基礎有所幫助 一.機器數和真值 在學習原碼,反碼和補碼之前,需要先了解機器數和真值的概念....

原碼,補碼,反碼詳解

首先來記住規則 原碼到補碼的計算是 原碼的符號位不變,其餘位按位取反後加1.原碼到反碼的計算是 原碼的符號位不變,其餘位按位去反 然後來看一下原碼 反碼和補碼的定義 原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值。比如如果是8位二進位制 1 原 0000 0001 1 原 1000...