計算機組成原理——數據表示(一)

生活是一道長長的旅程,充滿了挑戰和困難。然而,我們必須堅持下去,努力前進。無論遇到什么困難,我們都要勇敢面對,永不放棄。只有通過不斷的努力和堅持,我們才能夠取得成功。在這個旅程中,我們可能會失敗,但失敗并不可怕,只要我們愿意從失敗中吸取教訓,不斷改進自己,我們就一定能夠找到成功的道路。成功不是一蹴而就的,它需要我們付出持久的努力和毅力。在困難面前,我們要保持積極的心態,堅信自己的能力,并將困難視為機會去成長和進步。我們要相信自己的潛力和能力,相信未來的美好。只有不停地努力和奮斗,我們才能夠實現自己的夢想,創造屬于自己的輝煌。讓我們一起努力,不斷追求進步,勇往直前,向著成功的目標前進!

計算機組成原理資源網

https://www.wenjingketang.com/這里面有ppt課后習題及答案,需要的可以自行下載

目錄

1.1 數制與編碼

1.1.1 常用的進位計數制及其相互轉換

1.1.2 BCD碼 (Binary-Coded Decimal)

1.1.3 字符與字符串

1.1.4 漢字編碼

1.1.5 校驗碼

1.1.6 真值和機器數


1.1 數制與編碼

1.1.1 常用的進位計數制及其相互轉換

定義: 進位計數制是表示數值的一種方法,每個數字的位置決定了它的權重。常用的進位計數制包括:

  • 二進制(Binary):?只有0和1兩個數字,基數為2。
  • 八進制(Octal):?使用0到7八個數字,基數為8。
  • 十進制(Decimal):?我們日常生活中最常用的計數系統,使用0到9十個數字,基數為10。
  • 十六進制(Hexadecimal):?使用0到9和A到F共十六個符號,其中A到F分別代表10到15,基數為16。

相互轉換:

  • 十進制轉其他進制: 以轉換為二進制為例,通過除基取余法進行轉換。例如,將十進制數42轉換為二進制:

    • 42 ÷ 2 = 21...0
    • 21 ÷ 2 = 10...1
    • 10 ÷ 2 = 5...0
    • 5 ÷ 2 = 2...1
    • 2 ÷ 2 = 1...0
    • 1 ÷ 2 = 0...1
    • 結果為101010,從下往上讀取余數。
  • 其他進制轉十進制: 使用按權展開求和法。例如,將二進制數101010轉換為十進制:

    • 1×25+0×24+1×23+0×22+1×21+0×20=32+0+8+0+2+0=421×25+0×24+1×23+0×22+1×21+0×20=32+0+8+0+2+0=42
  • 二進制與八進制/十六進制之間的轉換: 直接分組轉換。因為8 = 2^3,所以每三位二進制數可以轉換成一位八進制數;同樣地,由于16 = 2^4,每四位二進制數可以轉換成一位十六進制數。例如,將二進制數101010轉換為八進制:

    • 101 010?→?52
    • 將二進制數101010轉換為十六進制:
    • 0010 1010?→?2A
1.1.2 BCD碼 (Binary-Coded Decimal)

定義: BCD碼是一種特殊的二進制編碼方式,用來表示十進制數。每一位十進制數用4位二進制數表示(0000到1001),因此一個字節可以表示兩位十進制數。

例子:

  • 十進制數56在BCD碼中表示為0101 0110

特點:

  • 直觀易懂,便于人們閱讀和理解。
  • 在某些應用場景下(如金融計算)避免了二進制浮點運算帶來的精度損失。
1.1.3 字符與字符串

字符編碼:

  • 計算機內部使用特定的編碼方案來表示字符。最常用的是ASCII(American Standard Code for Information Interchange)和Unicode標準。
    • ASCII:?使用7位或8位二進制數表示128或256個不同的字符,包括字母、數字、標點符號等。例如,字母'A'在ASCII中的編碼是01000001
    • Unicode:?支持更多的字符集,特別是非拉丁文字符,如中文、日文等。UTF-8是變長編碼,對于ASCII字符占用1個字節,而對于其他字符(如漢字)則可能需要2到4個字節。

字符串:

  • 字符串是由多個字符組成的序列。例如,在Python中,字符串可以用引號括起來表示:
    s = "Hello, World!"
1.1.4 漢字編碼

定義: 漢字編碼是指如何用計算機可以識別的方式表示漢字。早期有GB2312、GBK等編碼標準,現在普遍采用UTF-8、UTF-16等更通用的Unicode編碼。

例子:

  • UTF-8編碼下的“你好”:
    • “你”的UTF-8編碼可能是E4 BD A0(具體取決于實現)。
    • “好”的UTF-8編碼可能是E5 A5 BD

特點:

  • UTF-8是變長編碼,對于ASCII字符占用1個字節,而對于其他字符(如漢字)則可能需要2到4個字節。
  • 它兼容ASCII,同時能夠表示全世界幾乎所有語言的文字。
1.1.5 校驗碼

定義: 校驗碼是為了檢測傳輸錯誤而附加的數據。它可以是奇偶校驗、循環冗余校驗(CRC)等形式。

應用:

  • 在數據通信中,發送端會根據一定規則生成校驗碼并附帶在數據后面一起發送;接收端收到數據后重新計算校驗碼并與接收到的進行對比,如果不一致則說明數據可能出錯。

例子:

  • 奇偶校驗:?如果使用偶校驗,那么所有有效位加上校驗位應該包含偶數個1。例如,數據1010(有兩個1)加上偶校驗位后變為10100(仍然是兩個1)。
  • 循環冗余校驗(CRC):?CRC是一種更為復雜的校驗方法,它基于多項式除法原理,能提供更高的檢錯能力。例如,Ethernet幀尾部的FCS字段就是通過CRC算法計算出來的。
1.1.6 真值和機器數

真值: 真值是指實際存在的數值,即我們在日常生活和數學中使用的數字,可以是正數、負數或零。

機器數: 機器數是計算機內部用來表示數值的形式,采用二進制表示法。由于計算機硬件基于二進制邏輯工作,所有數據必須以機器數形式存儲和處理。

  • 無符號數:?只能表示非負數,每一位都用于表示數值大小,沒有專門的符號位。
  • 有符號數:?可以表示正數和負數,最高位通常作為符號位,0 表示正數,1 表示負數。
    • 原碼:?符號位加上絕對值的二進制表示。例如,8位二進制中的+5為00000101,-5為10000101
    • 反碼:?正數的反碼等于其原碼;負數的反碼是在原碼基礎上,除了符號位外,其余各位取反。例如,-5的反碼為11111010
    • 補碼:?是最常用的表示方式。正數的補碼等于其原碼;負數的補碼是在其反碼的基礎上加1。例如,-5的補碼為11111011

計算示例:

  • 從真值到機器數(補碼)的轉換:
    • 轉換十進制數-5為8位二進制補碼:
      1. 先將5轉換為二進制:00000101
      2. 對這個二進制數取反:11111010
      3. 加1:11111011
  • 從機器數(補碼)到真值的轉換:
    • 解釋8位二進制補碼11111011
      1. 檢查符號位,最高位是1,說明這是一個負數。
      2. 減1后對剩余部分取反:11111010?->?00000101
      3. 將結果轉換回十進制,并加上負號:-5

總結: 數制與編碼的知識覆蓋了計算機內部數據表示的核心概念,從不同進位計數制之間的轉換到具體的編碼方式,再到確保數據完整性的校驗機制,都是理解和設計高效計算機系統的關鍵要素。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66647.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66647.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66647.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據結構】雙向循環鏈表實現簡易圖書管理系統的增刪改查

圖書管理系統 使用雙向循環鏈表實現一個簡單的圖書管理系統&#xff0c;圖書管理系統有如下功能&#xff1a; 1.添加書籍 2.刪除書籍 3.修改書籍信息 4.查詢書籍信息 5.借書 6.還書 #include <stdio.h> #include <stdlib.h> #include <string.h>// 書籍結構體…

強化學習入門--基本概念

強化學習基本概念 grid-world example 這個指的是一個小機器人&#xff08;agent&#xff09;在一個網格區域&#xff08;存在邊界&#xff09;&#xff0c;網格中存在需要躲避的格子和目標格子&#xff0c;我們的目的就是找到到達目標格子的最短路徑 state 表示智能體相對…

STMCubeMX配置STM32F103ZET6

1 配置時鐘 配置RCC。 配置 SYS。將Timebase Source配置為TIM1, SysTick留給FreeRTOS用。 注意: 由于第一次配置的時候忘記配置這個步驟,導致工程第一次燒錄成功后,后面一直無法燒錄,報以下錯誤: keil no target connect Error: Flash Download failed - Target DLL h…

OFD 套版生成原理與 C# 實現詳解

1. 引言 OFD&#xff08;Open Fixed-layout Document&#xff09;是一種基于 XML 的開放版式文檔格式&#xff0c;主要用于電子文檔的存儲和交換。與 PDF 類似&#xff0c;OFD 是一種固定版式文檔格式&#xff0c;能夠確保文檔在不同設備和平臺上顯示的一致性。OFD 格式廣泛應…

Leetcode:2239

1&#xff0c;題目 2&#xff0c;思路 循環遍歷滿足條件就記錄&#xff0c;最后返回結果值 3&#xff0c;代碼 public class Leetcode2239 {public static void main(String[] args) {System.out.println(new Solution2239().findClosestNumber(new int[]{-4, -2, 1, 4, 8})…

C語言之斗地主游戲

&#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 總有人間一兩風&#xff0c;填我十萬八千夢。 &#x1f680; 路漫漫其修遠兮&#xff0c;吾將上下而求索。 ? C語言之斗地主游戲 目錄 程序概述程序設計 Card類CardGroup類Player類LastCards類Land…

python編程-OpenCV(圖像讀寫-圖像處理-圖像濾波-角點檢測-邊緣檢測)圖像變換

形態變換 圖像處理中的形態學操作是處理圖像結構的有效方法。以下是一些常見的形態學操作的介紹及其在 OpenCV 中的實現示例。 1. 腐蝕&#xff08;Erosion&#xff09; 腐蝕操作通過消除圖像邊界來減少圖像中的白色區域&#xff08;前景&#xff09;&#xff0c;使物體的邊…

【Prometheus】PromQL進階用法

?? 歡迎大家來到景天科技苑?? &#x1f388;&#x1f388; 養成好習慣&#xff0c;先贊后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者簡介&#xff1a;景天科技苑 &#x1f3c6;《頭銜》&#xff1a;大廠架構師&#xff0c;華為云開發者社區專家博主&#xff0c;…

SiamCAR(2019CVPR):用于視覺跟蹤的Siamese全卷積分類和回歸網絡

原文標題:SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking 中文標題:SiamCAR:用于視覺跟蹤的Siamese全卷積分類和回歸 代碼地址: https://github.com/ohhhyeahhh/SiamCAR Abstract 通過將視覺跟蹤任務分解為兩個子問題,…

計算機網絡介質訪問控制全攻略:從信道劃分到協議詳解!!!

一、信道劃分介質訪問控制 介質訪問控制&#xff1a;多個節點共享同一個“總線型”廣播信道時&#xff0c;可能發生“信號沖突” 應該怎么控制各節點對傳輸介質的訪問&#xff0c;才能減少沖突&#xff0c;甚至避免沖突? 時分復用(TDM) 時分復用&#xff1a;將時間分為等長的“…

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm監控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm監控配置 1.Prometheus部署1.2.Prometheus修改默認端口 2.grafana可視化頁面部署3.alertmanager部署4.監控配置4.1.主機監控node-exporter4.2.監控mysql數據庫mysqld_exporter4.3.監控mongod數據庫mongodb_expo…

基于tldextract提取URL里的子域名、主域名、頂級域

TLD是TopLevel Domain的縮寫。?tldextract? 是一個用于從URL中提取子域、主域名和頂級域&#xff08;TLD&#xff09;的Python庫。它利用公共后綴列表&#xff08;Public Suffix List&#xff09;來確保即使是復雜或不常見的URL結構也能被正確解析。tldextract能夠處理包括IC…

常見Arthas命令與實踐

Arthas 官網&#xff1a;https://arthas.aliyun.com/doc/&#xff0c;官方文檔對 Arthas 的每個命令都做出了介紹和解釋&#xff0c;并且還有在線教程&#xff0c;方便學習和熟悉命令。 Arthas Idea 的 IDEA 插件。 這是一款能快速生成 Arthas命令的插件&#xff0c;可快速生成…

Mellanox ConnectX 系列網卡的雙驅動架構:以太網與 InfiniBand 的協同設計

在現代數據中心和高性能計算(HPC)環境中,網絡硬件的性能和功能至關重要。Mellanox ConnectX 系列網卡以其卓越的性能和多功能性而聞名,支持從傳統的以太網到高性能的 InfiniBand 網絡協議。這種多功能性使得 Mellanox 網卡能夠滿足不同應用場景的需求,從常規的數據中心網絡…

win32匯編環境,對多行編輯框添加或刪除文本

;運行效果 ;win32匯編環境,對多行編輯框添加或刪除文本 ;主要要先設置文本的開始點與結束點&#xff0c;然后把一段文本頂替上去。沒有添加文本或刪除文本的概念&#xff0c;只有頂替。如果開始點與結束點都是前面文本的長度值&#xff0c;則成了從后面添加文本的效果。如果結束…

CSDN年度回顧:技術征途上的堅實步伐

嘿&#xff0c;時光過得可真快呀&#xff0c;就像那匹跑得飛快的白馬&#xff0c;嗖的一下&#xff0c;2024 年的日歷就這么悄無聲息地翻到了最后一頁。這會兒我回頭看看在 CSDN 上度過的這一年&#xff0c;心里那叫一個感慨萬千&#xff0c;滿滿的都是喜悅&#xff0c;就像心里…

泛型子類使用Builder提示:both methods have same erasure, yet neither hides the other

父類 Data Builder AllArgsConstructor NoArgsConstructor public class ParentClass {public String name; } 子類 AllArgsConstructor NoArgsConstructor Data SuperBuilder public class ChildClass<T> extends ParentClass {private T value; } 提示錯誤 builde…

Springboot集成Elasticsearch8.0(ES)版本,采用JAVA Client方式進行連接和實現CRUD操作

本文章介紹了 springboot t集成Elasticsearch8.0(ES)版本,如何通過 AVA Client方式進行連接和實現CRUD操作 在ES7.15版本之后,ES官方將高級客戶端 RestHighLevelClient標記為棄用狀態。同時推出了全新的 Java API客戶端 Elasticsearch Java API Client,該客戶端也將在 Ela…

人臉識別打卡系統--基于QT(附源碼)

逃離舒適區 項目源代碼放在我的倉庫中&#xff0c;有需要自取 項目地址 https://gitcode.com/hujiahangdewa/Face_recognition.git 文章目錄 一、項目結構分析二、服務器的搭建三、客戶端的搭建四、人臉識別庫的申請五、基于人臉識別庫的識別判斷六、QT人臉識別----調用百度ai…

人工智能在數字化轉型中的角色:從數據分析到智能決策

引言 在數字化轉型浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正迅速崛起&#xff0c;成為推動企業創新和變革的關鍵力量。面對日益復雜的市場環境和激烈的行業競爭&#xff0c;企業亟需借助技術手段提高運營效率、優化決策過程&#xff0c;并增強市場競爭力。而AI…