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,反碼...