進製之間的相互轉換 原碼反碼補碼

2021-10-07 16:30:15 字數 2445 閱讀 9275

2020 6.30

計算機常用進製及進製之間的相互轉換

1.進製的由來

結繩計數

書契計數

算盤正字計數

進製的概念

進製計數法

對於n進製,逢n進1

生活中常用的是十進位制

2.生活中常用的進製

十進位制七進製[星期](0-6)0代表周天

十二進位制[一年十二個月]0-11 1999-12-12 在計算機中是2000-1-1

百進製[世紀]

千進製[1,000,000,000]12k

3.計算機中的二進位制

補碼 單位:

一位元組為8bit

1024位元組byte=1kb

1024kb=1mb

1024mb=1g

1024g=1tb

1024tb=1pb

在計算機中用補碼表示資訊

在計算機中乙個資料位,為1bit,乙個位元組由8個bit表示稱為1byte

4.四種進製的介紹

二進位制 0 1 逢2進1 機器語言

八進位制 把三個電路開關連在一起,表示八種狀態0-7 逢8進1

十進位制 0-9 逢10進1

十六進製制 把四個電路開關連在一起 表示十六種狀態 0-9+abcdef 最大的數為15【f】

5.八進位制和十六進製制

八進位制和十六進製制,解決了二進位制數字書寫太長,不易識別的問題

把二進位制每三位組合到一起組成八進位制

把二進位制每四位組合到一起,組成十六進製制

6.各種進製之間的的轉換

將其他進製轉換為十進位制

方法:位權展開法

權重的計算方法 (進製)[位數-1] 進製的位數-1次冪

二進位制轉十進位制

八進位制轉十進位制

十六進製制轉十進位制

將十進位制轉換為其他進製

下午原碼 反碼 補碼

1.對計算機常見資料的**

機器數就是數值在計算機中的二進位制表現形式

5=0101

機器數在計算機中有符號,使用最高位表示符號,使用0表示正,1表示負

乙個位元組8個bit位表示

+5 =0000 0101

-10=1000 1010

真值機器數所表示的真正數值

如:10001010=-10

原碼原碼就是符號位加上真值的絕對值

5的原碼

0000 0101

-7的原碼

1000 0111

eg:34: 0010 0010 -29: 1001 1101 -19: 1001 0011

反碼正數:正數的反碼 = 原碼 如: +3 = 0000 0011【原碼】 = 0000 0011【反碼】

負數:符號位不變 其餘各位直接取反

eg:-7 -33 -37 -49

原碼: 1000 0111 1010 0001 1010 0101 1011 0001

反碼: 1111 1000 1101 1110 1101 1010 1100 1110

補碼計算機中 資料以補碼的形式同樣以補碼的形式參與運算

正數:原碼=補碼=反碼

負數:首先求得反碼,在反碼的基礎上+1, 加到最後位上

eg:-34 -29 -47

原碼: 1010 0010 1001 1101 1010 1111

反碼: 1101 1101 1110 0010 1101 0000

補碼: 1101 1110 1110 0011 1101 0001

為什麼需要反碼和補碼

反碼設計計算機的時候,只有加法計算器沒有減法器,為了將減法轉換為加法設計了反碼

但是反碼有缺陷,正負相加的表示不唯一

補碼:為了解決反碼的問題,設計了高位溢位 eg:

45-19 53-27 65-34 -34-27

0010 1101 0011 0101 0100 0001 1101 1110

1110 1101 1110 0101 1101 1110 1110 0101

0001 1010 0001 1010 0001 1111 1100 0011

補碼轉原碼

將補碼當作原碼再求一次補碼

計算機常用編碼

常用編碼介紹

ascii碼表 只有0-127 128位 使用乙個位元組的第七位 剩餘的128位留作擴充套件

iso-8859.i* 使用了ascii碼表剩餘的128位 做了擴充套件 常用:iso-8859-1

gb2312 中文簡體子集 包含6763個簡體中文子

big5 大五碼 繁體字集

unicode 統一字符集 簡稱ucs

gbk 包含gb2312和big5繁體字集 向下完全相容gb2312使用gbk開啟gb2312的文字不會亂碼,共21003個位元組

utf-8萬國碼 包含世界所有國家的字元

ascii碼表

亂碼產生原因

解決亂碼

notepad++等記事本的亂碼現象

原碼反碼補碼的相互轉換

正數的原碼,反碼,補碼都是相同的。負數的原碼,反碼,補碼的相互轉化問題如下 負數原碼和反碼的相互轉化 負數原碼轉化為反碼 符號位不變,數值位按位取反。原碼 1100 0010 反碼 1011 1101負數反碼轉化為原碼 符號位不變,數值位按位取反。反碼 1011 1101 原碼 1100 0010負...

一 原碼反碼補碼的相互轉換

1 首先,正數的原碼,反碼,補碼相同。我們在這裡不討論。2 我們來討論負數的原碼反碼補碼的相互轉換。負數原碼轉化為反碼 符號位不變,數值位按位取反。原碼 1100 0010 反碼 1011 1101負數反碼轉化成原碼 符號位不變,數值位按位取反。反碼 1011 1101 原碼 1100 0010負數...

負數原碼與補碼之間相互轉換

背景 計算機內部用補碼表示二進位制數。符號位 1 表示負數,0 表示正數。正數 無區別,正數 的原碼 反碼 補碼 若已知 負數 8,則其 原碼為 1000 1000,1為符號位,為1代表負數,為0代表正數 反碼為 1111 0111,符號位保持不變,其他位置按位取反 補碼為 1111 1000,反碼...