计算机数制表示方法,计算机中的数制表示
《計算機中的數制表示》由會員分享,可在線閱讀,更多相關《計算機中的數制表示(42頁珍藏版)》請在人人文庫網上搜索。
1、補充的主要內容,數制的基本概念 計算機中的數制 數制間的轉換 計算機數值數據的機內表示,基數 是最大進位數(進制數),例如:十進制基數為10; 六 十進制(時間)的基數為60等 數符 每個數位上的值。 例如: 234 百位數符為2,十位數符3,個位數符4。 位數 數符的個數。例如: 十進制數 234 的位數為3; 二進制數 11010011 的位數為 8。,一、數制的基本概念,二、計算機的數制,常用計數制的基數和數字符號,計算機的數制,十進制數(Decimal) 特點:數值用09表示,逢十進一。 十進制通式為: s10=a n10 n-1 +. . . +a1100 +a -1 10 -1+ 。
2、. . . +a -m 10 -m,小數部分,m為小數部分位數,整數部分,n為整數部分位數,其中:“10”為十進制數的基數,計算機的數制,(2)二進制數(Binary) 特點 :0 或 1, 逢二進一。 二進制數的通式為: s2 = an 2 n-1 +. . . +a120 + a-12-1 +a-m2-m 例如: 1+1=10 11+1=100 而不是等于12,計算機的數制,(3)八進制(Octal) 特點:數字為07,逢八進一。 八進制數的通式為: s8 = an8 n-1 + . . . + a18 0 + a-18-1+a-m8-m 例如: 7+1=10 而不是等于8,(4)十六進制。
3、(Hexadecimal) 特點:每位可取數字09和英文字母A(10)、 B(11)、C(12)、D(13)、E(14)、F(15)的任意一個,逢十六進一。 十六進制數的通式為: S16=an16 n-1 + . . . + a1160 + a-116-1+. . . + a-m16-m 例如: 9+1=A 而不是等于10 F+1=10,計算機的數制,十進制(D) 二進制(B) 八進制(O) 十六進制(H),0 0 0 0 1 01 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 。
4、11 9 10 1010 12 A 11 1011 13 B,計算機的數制,三、數制間的轉換,十進制數,非十進制數,非十進制數,十進制數,二、八、十六進制之間的轉換,8 75 3 8 9 1 8 1 1 0,結果為:113,余數法:除基數取余數、由下而上排列。 示例:,2 75 1 2 37 1 2 18 0 2 9 1 2 4 0 2 2 0 2 1 1 0,又例:,結果為:1001011,進位法:用十進制小數乘基數,當積為0或達到 所要求的精度時,將整數部分由上而下排列。 示例: 0.625 2 1.250 整數=1 2 0.50 整數=0 2 1.0 整數=1 小數值=0,結果為:0.1。
5、01,例: 計算(25.36)10=(?)2=(?)8,位權法:把各非十進制數按權展開求和 轉換公式:(F)10 =an X n-1 +. . . +a1X0 + a-1X-1 +a-mX-m 示例: (1011.1) 2 = 123+022 + 121 + 1 20 +1 2-1 = 8 + 0 + 2 + 1 + 0.5 = (11.5)10,整數從右向左三位并一位 小數從左向右三位并一位 二進制 八進制,二、八與十六進制之間的轉換,整數從右向左四位并一位 小數從左向右四位并一位 二進制 十六進制,100110110111.010 100( 4 6 6 7. 2 4 )8,1001 101。
6、1 0111.0101( 9 B 7 . 5 )16,示例:,存在計算機內存中的數據都是二進制形式。,機器表示:,符號位,數值部分,數值部分,(+53)8,(-53)8,真 值,符號位,機器數與真值,機器數: 對于有符號的數,機器中約定某一位表示符號,連同數符一起數碼化的數。無符號的數沒有符號位。,常用“0”表示正號,“1”表示負號。,機器數的真值: 按一般習慣書寫形式,即,正負號加絕對值表示的數。,機器數與真值,例如:真值為1101的一種機器數形式為?,01101,真值為1101的一種機器數形式為?,11101,顯然,機器數形式的二進制位數受機器字長限制,因而表示的范圍和精度也將受到相對限制。
7、,機器數與真值,數值數據的表示:原碼、反碼、補碼 數值數據在內存中數據一般采用補碼表示。,若符號位為0,則 表示正數,若符號位為1,則表示負數,表示方法規定: 最高位作為符號位,其余各位代表數值本身的絕對值(以二進制表示).,數值數據的原碼表示,1011,真值,原碼,-1011,0.1011,-0.1011,00001011,10001011,0.1011000,1.1011000,例1 假設用一個字節表示一個整數,求+7和-7的原碼 解: (7 )原,00000111,10000111,(7 )原,例2,數值數據的原碼表示,(0 )原 (0 )原,例3 假設用一個字節來表示一個整數,求0和0。
8、的原碼表示,解:,00000000,10000000,故可知: 0的原碼不唯一,數值數據的原碼表示,解: (7 )反 (7 )反,表示方法規定: 1.一個數如果值為正,則它的反碼與原碼相同 2.一個數如果值為負,則將其符號位置為 1,其余各位為對原碼的相應數據位取反.,例1 假設只用一個字節來表示一個整數,求+7和-7的反碼,00000111,11111000,數值數據的反碼表示,解: (0 )反 (0 )反,例2. 假設只用一個字節來表示一個整數,求0和0的反碼表示,故可知: 0的反碼不唯一,00000000,11111111,數值數據的反碼表示,“補碼”的原理,表示方法規定: 1、正數的補。
9、碼、反碼、原碼相同. 2、對于負數的補碼,則將其最高位置為 1,其余各位為對原碼的相應數據位取反,然后再對整個數加1.,數值數據的補碼表示,例1 假設只用一個字節來表示一個整數,求+7和-7的補碼,解: (7 )補00000111,(7 )補,1111000,1,+1,11111001,數值數據的補碼表示,注意:零的補碼表示是唯一的,故 : (0 )補00000000= (0 )補,例2. 假設只用一個字節來表示一個整數,求0和0的補碼表示,(0 )補00000000,(0 )補11111111, 1,00000000,1,進位自然舍去,X為負數時 x補= x反+1,數值數據的補碼表示,十進制。
10、數 原碼表示 反碼表示 補碼表示 4 00000100 00000100 00000100 3 00000011 00000011 00000011 2 00000010 00000010 00000010 1 00000001 00000001 00000001 0 00000000 00000000 00000000 -0 10000000 11111111 -1 10000001 11111110 11111111 -2 10000010 11111101 11111110 -3 10000011 11111100 11111101 -4 10000100 11111011 111111。
11、00 -5 10000101 11111010 11111011,為什么用補碼,計算機的硬件結構中只有加法器,所以大部分的運算都必須最終轉換為加法.如果用原碼做減法: 十進制: (1) 10 - (1)10 = (1)10 + (-1)10 = (0)10 二進制: (1)原= 00000001 (-1)原= 10000001 (00000001)原 + (10000001)原 = (1000010)原 =(-2)10 顯然不正確 問題出現在帶符號位的負數,為什么用補碼,如果用反碼做減法: (1)反= 00000001 (-1)原= 11111110 (00000001)反 + (111111。
12、10)反 = (11111111)反 = (-0 ) 有問題。 如果用補碼做減法: (1)補=00000001 (-1)補=11111111 (00000001)補+(11111111)補 = (00000000)補=(0) 正確。,例3 假設只用一個字節來表示一個整數,求+7-6的值 解 : (7 )補00000111 (6 )補11111010,00000111 + 11111010,100000001,進位自然舍去,為什么用補碼,對補碼再求一次補,會得到該數的原碼。,已知補碼為:11111010 10000101 + 1 10000110 (-6),為什么用補碼 計算機中采用補碼的設計目。
13、的是: 使符號位能與有效值部分一起參加運算,從而簡化運算規則。補碼機器數中的符號位,并不是強加上去的,是數據本身的自然組成部分,可以正常地參與運算。 使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計。 所有這些轉換都是在計算機的最底層進行的,而在我們使用的匯編、c等其他高級語言中使用的都是原碼。,X原、X反 、X補用“0”表示正號,用“1”表示負號 如果X為正數,則X原=X反 =X補。 如果X為0,則 X 補 有唯一 編碼, X原、X反 有兩種編碼。 對補碼再求一次補,會得到該數的原碼,總結,在計算機中沒有專門表示小數點的位,小數點的位置是約定默認的。 定點數:小數點位置固定的數。 浮點數:小數點位置可以變動的數。,先澄清一個概念,浮點數并不一定等于小數,定點數也并不一定就是整數。 所謂浮點數就是小數點在邏輯上是不固定的,而定點數只能表示小數點固定的數值,具用浮點數或定點數表示某哪一種數要看用戶賦予了這個數的意義是什么。,定點小數:,定點整數:,定 點 數,符號位,隱含小數位,符號位,隱含小數位,定點數表示簡單直觀,但運算值表示的范圍較小,運算時容易產生溢出。 為增大數值的表示范圍,防止溢出,采用浮點數表示法。類似于科學計數法。,31 30 24 23 22 0,浮 點 數。
總結
以上是生活随笔為你收集整理的计算机数制表示方法,计算机中的数制表示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【办公自动化】批量生成文件夹乱码解决方案
- 下一篇: 微信小程序Swiper标签