**1\. 機器數和真值**
二進制數有正負之分,如N1\=+0.101101,N2\=-0.101101,則N1是個正數,N2是個負數。機器不能直接把符號“+”、“-”表示出來,為了能在計算機中表示正負數,必須引入符號位,即把正負符號也用1位二進制數碼來表示。把符號位和數值位一起編碼來表示相應的數的表示方法包括:原碼、補碼、反碼、移碼等。
>[danger] 機器數:符號位也當做2進制數進行編碼的數(又稱機器碼),所以它包括...
為了便于在計算機中表示,同時又便于與實際值相區分,在此首先引入機器數和真值的概念。
**機器數**? 用二進制數“0”或“1”來表示數的符號,“0”表示正號,“1”表示負號,且把符號位置于該數的最高數值位之前(放在數的最前面),這樣表示的數稱為機器數(或稱機器碼),即把符號位和數值位一起編碼來表示的數就是機器數。
**真值**? 一
般書寫中用“+”、“-”來表示數的符號,這樣表示的數稱為真值。
例如:N1\= +0.101101,N2\= -0.101101,這是真值,表示成機器數(以原碼為例)就是\[N1\]原\= 0.101101,\[N2\]原\= 1.101101。
>[danger] 有正負號的實際值
機器數有原碼、補碼、反碼和移碼四種表示形式。下面以整數為例說明原碼、補碼、反碼和移碼的表示方法。
**2\. 原碼**
>[danger] 符號位加上數值的絕對值
符號位為0表示正數,為1表示負數,數值部分用二進制數的絕對值表示的方法稱為原碼表示法,通常用\[X\]原表示X的原碼。
例如,要表示+59和-59的原碼。假設機器數的位數8位(即機器的字長為8位),最高位是符號位,其余7位是數值位,那么,+59和-59的原碼分別表示為:
\[+59\]原\=00111011????????????????? \[-59\]原\=10111011
寫成一般式則為:
正數的原碼???????? \[X\]原\=X ??????????? (0<X<2n-1)
負數的原碼???????? \[X\]原\=2n-1\-X?????? (-2n-1<X<0)
注意:0的原碼有兩個值,有“正零”和“負零”之分,機器遇到這兩種情況都當作0處理。
>[danger]\[+0\]原\=00000000??????????????????? \[-0\]原\=10000000
原碼的表示方法簡單易懂,與真值轉換方便,但在進行加減法運算時,符號位不能直接參加運算,而是要分別計算符號位和數值位。當兩數相加時,如果是同號,則數值相加;如果是異號,則要進行減法運算。而在進行減法運算時,還要比較絕對值的大小,然后用大數減去小數,最后還要給運算結果選擇恰當的符號。
為了解決這些問題,人們引進了數的補碼表示法。
**3\. 補碼**
>[danger] 先算出原碼 符號位不變數值部分如果是0就變1如果是1就變0,最后在加1
什么是補碼?我們先用日常生活中的實例來進行說明。假如現在時間是7點,而你的手表卻指向了9點,如何調整手表的時間?有兩種方法撥動時針,一種是順時針撥,即向前撥動10個小時;另一種是逆時針撥,即向后撥2個小時。從數學的角度可以表示為:
(9+10) -12=19-12=7
或 9-2=7
可見,對鐘表來說,向前撥10個小時和向后撥2個小時的結果是一樣的,減2可以用加10來代替。這是因為鐘表是按12進位的,12就是它的“模”。對模12來說,-2與+10是“同余”的,也就是說,-2與+10對于模12來說是互為補數的。
計算機中的加法器是以2*n*為模的有模器件,因此可以引入補碼,把減法運算轉換為加法運算,以簡化運算器的設計。
補碼的定義:把某數X加上模數K,稱為以K為模的X的補碼。
\[X\]補\=K+X
因此,正數的補碼的最高位為符號“0”,數值部分為該數本身;負數的補碼的最高位為符號“1”,數值部分為用模減去該數的絕對值。
通過用模2n減去某數的絕對值的方法來求某數的補碼比較麻煩,求一個二進制數的補碼的簡便方法是:正數的補碼與其原碼相同;負數的補碼是符號位不變,數值位逐位取反(即求其反碼),然后在最低位加1。
例如,\[+59\]補\=\[+59\]原\=00111011,而\[-59\]原\=10111011,因此,\[-59\]補\= 11000100+1 = 11000101。
注意:0的補碼只有一種形式,就是n位0。
采用補碼表示法進行加減法運算,比原碼運算方便多了,符號位可以和數值位一起參加運算,而且不論數是正還是負,計算機總是做加法,減法運算可轉換為加法運算。
**4\. 反碼**
引入反碼的目的是便于求負數的補碼。
正數的反碼與原碼相同,負數的反碼是符號位不變,數值位逐位取反。
例如:\[+59\]反\=\[+59\]原\=00111011,而\[-59\]原\=10111011,因此,\[-59\]反\=11000100。
注意:0的反碼也有兩個,\[+0\]反\=00000000,\[-0\]反\=11111111
在計算機中,求一個數的反碼很容易,因此,求一個數的補碼也就易于實現。
采用補碼運算,計算機的控制線路較為簡單,所以,目前大多數計算機均采用補碼存儲、補碼運算,其運算結果仍為補碼形式。
綜上所述,在n位機中,用n位二進制數補碼表示一個帶符號的整數時,最高位為符號位,后面n-1位為數值部分。n位二進制數補碼表示的范圍為-2n-1~+2n-1\-1。例如,在8位機中,補碼表示的范圍為-128~+127。
**5)移碼**
移碼也稱為增碼或偏碼,常用于表示浮點數中的階碼。
移碼可由補碼求得,只要把補碼的符號位取反就得到了移碼。
# 機器數與原碼有區別嗎?
在計算機中表示的帶符號的二進制數稱為機器數。原碼是機器數的一種表示方式
>[danger](1)1和-1的原碼分別是多少?
[+1]原?= 0000 0001
[-1]原?= 1000 0001
>[danger](2)一個字節的存儲空間存儲的數值的范圍是多少?
[1111 1111 , 0111 1111]
也就是
[-127 , 127]
>[danger](3)1和-1的反碼分別是多少?
[+1] = [00000001]原?= [00000001]反
[-1] = [10000001]原?= [11111110]反
>[danger](4)1和-1的補碼分別是多少?
[+1] = [00000001]原?= [00000001]反?= [00000001]補
[-1] = [10000001]原?= [11111110]反?= [11111111]補
>[danger](5)分別用反碼和補碼計算1-1=0,看有啥區別?
1 - 1 = 1 + (-1) = [0000 0001]原?+ [1000 0001]原= [0000 0001]反?+ [1111 1110]反?= [1111 1111]反?= [1000 0000]原?= -0
1-1 = 1 + (-1) = [0000 0001]原?+ [1000 0001]原?= \[0000 0001\]反?+ \[1111 1110\]反=[0000 0001]補?+ [1111 1111]補?= [0000 0000]補=[0000 0000]原
>[info]注意
(1)如果補碼的符號位為“0”,表示是一個正數,所以補碼就是該數的原碼。?
(2)如果補碼的符號位為“1”,表示是一個負數,求原碼的操作可以是:符號位為1,其余各位取反,然后再整個數加1。
>[danger](6)已知一個補碼為11111001,計算它的原碼
因為符號位為“1”,表示是一個負數,所以該位不變,仍為? ?“1”;其余7位1111001取反后為0000110;再加1,所以是10000111(-7)。
>[danger](7)假如用16位表示十進制數-100,則它的原碼,反碼,補碼分別是多少?
(-100)= [1000 0000 0110 0100]原
(-100)= [1111 1111 1001 1011]反
(-100)= [1111 1111 1001 1100]補
>[danger](8) 十六位機器碼的原碼反碼補碼怎么算
比如:用十六位機器碼1110001010000000來表示定點整數(最高位為符號位),當它是原碼時表示的十進制真值為 多少?。當它是補碼時表示的十進制真值是 多少? ;當它是反碼時表示的十進制真值是多少?。怎么算
十六位機器碼1110,0010,1000,0000
不管它是什么碼,首先都要先將它轉化為原碼再做計算!
當它是原碼時就直接轉化為十進制的! (注釋2ˇ3=8)
=-(2ˇ7)+(2ˇ9)+(2ˇ13)+(2ˇ14)=-25216
-25216就是真值 !
當它是補碼時:先將它轉化為原碼,方法就是補碼的補碼就等于原碼!
補碼:1110,0010,1000,0000
原碼:1001,1101,1000,0000
=-(2ˇ7)+(2ˇ8)+(2ˇ10)+(2ˇ11)+(2ˇ12)=-7552
-7552就是真值
當它是反碼時:
反碼:1110,0010,1000,0000
原碼:1001,1101,0111,1111
=-1+2+4+8+16+32+64+256+1024+2048+4096=-7551
-7551就是真值
- 計算機網絡ip相關
- word01參考答案
- 關于四種數據冗余
- 計算機中各種碼!
- 綜合試卷一
- 綜合試卷二
- 關于access掩碼
- access函數集合
- Excel
- 2. 使用Excel2010的“翻譯器”快速翻譯
- 3. Excel2010去除圖片背景
- 4. Excel2010的截圖工具
- 5. Excel2010粘貼預覽功能
- 6. 用Excel2010快速處理圖片功能
- 7. 利用Excel2010的SmatrArt模板創建
- 8. Excel2010中的數據分析小迷你圖功
- 9. Excel2010中的切片器功能
- 10. Excel 2010的將文檔發布到
- 11. Excel2010轉PDF和XPS格式
- 12. 保持Excel2010與低版本格式兼容
- 13. 鎖定Excel2010中的常用文檔
- 14. 清除Excel2010中打開的文件記錄
- 15. 恢復Excel2010未保存的文件
- 16. 設置Excel2010自動保存時間間隔
- 17. 更改Excel2010默認用戶名稱
- 18. 修改多個Excel2010的文檔的作者
- 19. 巧妙擴大Excel2010編輯區域
- 20. 鼠標滾動輪對Excel2010窗口進行縮
- 21. 讓Excel自動滾屏
- 22. 改變Excel2010快速訪問工具欄位置
- 23. 自定義Excel2010快速訪問工具欄
- 24. Excel 2010的浮動工具欄功能
- 25. 巧妙設置Excel2010狀態欄
- 26. 取消Excel2010消息欄警報
- 27. 拆分Excel2010工作表窗口
- 28. Excel2010的工作界面
- 29. Excel工作簿的新建和保存
- 30. Excel中數據的類型和輸入數據的各
- 31. Excel2010自動填充數據
- 32. 選擇Excel單元格或單元格區域
- 33. Excel2010的編輯功能
- 34. 選擇Excel2010工作表常用方法
- 35. 在Excel2003工作簿中插入工作表
- 36. Excel2010移動或復制工作表
- 37. Excel2010合并單元格
- 38. 在Excel2010中插入和刪除單元格
- 39. 調整Excel的行高和列寬
- 40. 給Excel單元格插入批注
- 41. 在Excel單元格中添加斜線
- 42. 拆分Excel工作表窗格
- 43. 凍結Excel窗格功能
- 44. Excel2010中設置字體的格式
- 45. Excel中的數據設置不同數字格式
- 46. 設置Excel單元格的對齊方式
- 47. 設置Excel表格和單元格的邊框和底
- 48. 在Excel中應用條件格式
- 49. Excel中的公式和函數
- 50. Excel公式中的運算符及優先級
- 51. Excel2010中創建公式和修改公式
- 52. Excel2010引用的類型
- 53. Excel的常用函數類型和使用方法
- 54. Excel2010數組公式
- 55. Excel2010簡單排序
- 56. 在Excel中多關鍵字排序
- 57. Excel 的數據篩選功能
- 58. Excel2010高級篩選
- 59. Excel分類匯總
- 60. Excel分級顯示數據
- 61. Excel2010按位置合并計算
- 62. Excel的按分類合并計算方式
- 63. Excel2010中創建數據透視表
- 64. 編輯Excel數據透視表
- 65. 創建Excel數據透視圖
- 66. Excel2010中圖表的組成和類型
- 67. Excel 2010中創建圖表
- 68. Excel工作表的頁面設置
- 69. 設置Excel工作表的頁眉和頁腳
- 70. 設置Excel工作表打印區域和可打印
- 71. 插入Excel分頁符
- 72. Excel工作表打印預覽
- 73. 為Excel工作簿設置密碼
- 74. Excel工作表進行保護加密
- 75. 隱藏Excel工作表內容
- 76. Excel 2010的共享工作簿功能
- 77. Excel的合并工作簿功能
- 78. Excel2010中插入工作表
- 79. excel2010如何設置密碼
- 80. 在excel中輸入身份證號碼
- 81. excel2010的打印預覽在哪里
- 82. 使用excel2010制作一個簡單的銷售
- 83. 設置excel2010中的數據條件格式方
- 84. 利用excel條件格式讓部分數據突出
- 85. 在excel2010中為單元格區域設置名
- 86. 批量把excel2010數據表格中的合計
- 87. 在excel中計算數據的眾數
- 88. 在excel表格里插入折線圖
- 89. 用excel2010的圖標來設置條件格式
- 90. 在excel表格的打印預覽界面調整頁
- 91. 使用excel的VBA來徹底隱藏工作表
- 92. 在多個excel工作簿中任意切換
- 93. 以年快速填充excel日期數據
- 94. 使用excel2010中的數據有效性自動
- 95. 使用excel保護工作表的功能
- 96. excel2010中的以工作日填充日期的
- 97. 啟動excel2010的同時打開多個文件
- 98. excel2010自動備份工作簿
- 99. 給excel2010的迷你圖添加色彩
- 100. 在excel2010中設置重復值的格式
- 101. 通過excel2010設置三色刻度條件
- 102. 如何自定義excel2010的三色刻度
- 103. 在excel2010中設置雙色刻度的條
- 104. 數據透視表準備工作:填充excel空
- 105. 批量更改excel2010工作表名稱
- 106. EXCEL2010中的高級篩選
- 107. excel2010將工作表調整為一頁打
- 108. excel2010的條件格式功能
- 109. 在excel2010中顯示編輯欄的方法
- 110. 進行快速的搜索excel工作簿
- 111. office2010的安裝使用詳細步驟教
- 112. 在excel2010中做奇偶行不同顏色
- 113. excel2010中粘貼預覽功能的效果
- 114. 使用excel2010中的迷你圖做出趨
- 115. 把excel2010的默認字體更改為雅
- 116. excel2010中增加的迷你圖新功能
- 117. excel2010中雙色刻度的條件格式
- 118. 在excel2010中設置一下數據的精
- 119. 在EXCEL2010中制作斜線表頭
- 120. 使用excel2010自動恢復功能找到
- 121. excel2010的排序功能
- 122. 在excel2010中輸入數列的好方法
- 123. excel2010的篩選功能
- 124. excel2010中如何選擇復制單元格
- 125. excel2010中的SmartArt圖形功能
- 126. 在EXCEL2010中給SmartArt圖形
- 127. 利用EXCEL2010內置序列達到快
- 128. 刪除EXCEL2010中重復的記錄
- 129. 在SmartArt圖形中輸入文本
- 130. 利用快捷鍵設置、建立SmartArt圖
- 131. EXCEL2010中了加入了截圖的功
- 132. 將EXCEL2010文件轉存為PDF文檔
- 133. 使用快捷鍵對excel功能區進行操作
- 134. 在excel2010中鼠標雙擊操作的小
- 135. 把excel文件轉換為PDF格式的文件
- Excel常用自定義格式參數