數字系統與編碼


1. 數字系統(Number Systems)

1.1 常見數字系統
系統基數符號集示例應用場景
二進制20, 11010計算機底層電路、數據存儲
八進制80-717Unix文件權限(如chmod 755
十進制100-942日常計算
十六進制160-9, A-F0x1F內存地址、顏色編碼(#RRGGBB)
1.2 進制轉換方法
  • 其他進制 → 十進制:加權求和
    1010_2 = 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 = 10_{10}
    
  • 十進制 → 其他進制:短除法取余
    42_{10} \rightarrow 42÷2=21余0 → 21÷2=10余1 → ... → 101010_2
    
  • 二進制 ? 十六進制:4位分組轉換
    1101\_0110_2 → D6_{16}
    

2. 數據編碼(Data Encoding)

2.1 數值編碼
編碼類型表示方法范圍(8位)特點
原碼最高位為符號位(0正1負)-127 ~ +127零有+0-0兩種表示
反碼負數:符號位不變,其余位取反-127 ~ +127過渡方案,現較少使用
補碼負數:反碼+1-128 ~ +127現代計算機標準,消除零歧義
移碼補碼符號位取反-128 ~ +127用于浮點數階碼(如IEEE 754)

示例

  • -5的8位補碼表示:
    原碼:1000 0101 → 反碼:1111 1010 → 補碼:1111 1011
    
2.2 字符編碼
標準覆蓋范圍存儲方式局限性
ASCII英文、數字、控制字符(128個)1字節(7位)無法表示非拉丁字符
Unicode全球文字(如中文、emoji)UTF-8(變長1-4字節)兼容ASCII,互聯網首選
GB2312簡體中文(6763個漢字)2字節僅支持簡體中文

UTF-8編碼規則

  • 1字節:0xxxxxxx(兼容ASCII)
  • 2字節:110xxxxx 10xxxxxx
  • 3字節:1110xxxx 10xxxxxx 10xxxxxx
  • 4字節:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

3. 高級編碼技術

3.1 浮點數編碼(IEEE 754)
\text{值} = (-1)^S × 1.M × 2^{E-127}
  • 32位單精度
    S(1位) | E(8位) | M(23位)
    
  • 示例-0.75的二進制表示:
    符號位S=1,0.75=1.1×2^{-1} → E=126(01111110), M=1000...0
    最終:1 01111110 10000000000000000000000
    
3.2 錯誤檢測編碼
  • 奇偶校驗:附加1位使1的個數為奇/偶
    數據:1010 → 偶校驗:1010_0(1的個數為偶數)
    
  • CRC循環冗余校驗:多項式模2除法(用于網絡傳輸)
  • 漢明碼:可糾正單比特錯誤的糾錯編碼

4. 實際應用案例

4.1 計算機內存存儲
  • 小端序(Little Endian):低位字節存儲在低地址
    32位整數0x12345678在內存中的存儲(地址遞增方向):
    78 56 34 12
    
4.2 圖像顏色編碼
  • RGB24位色
    R(8位) | G(8位) | B(8位) → 如純紅色:0xFF0000
    
  • ARGB32位色:增加透明度通道(Alpha)
4.3 條形碼與二維碼
  • EAN-13條形碼:13位數字(前導位+左右數據+校驗位)
  • QR碼:使用Reed-Solomon糾錯編碼,支持漢字(需UTF-8轉換)

5. 關鍵問題與解決方案

Q1: 為何計算機使用補碼表示負數?
  • 解決零的歧義:補碼中+0-0表示相同(均為000...0
  • 簡化運算電路:加法器無需區分正負數,統一處理(如5 + (-3)可直接相加)
Q2: UTF-8如何實現變長編碼?
  • 前綴碼設計:通過起始比特模式標識字節數(如110開頭的必為2字節字符首字節)
  • 兼容性:ASCII字符(0-127)保持單字節不變

總結

數字系統與編碼是計算機科學的基石,理解其原理對以下領域至關重要:

  • 硬件設計(如CPU算術單元)
  • 數據壓縮(如哈夫曼編碼)
  • 網絡安全(如校驗和驗證)
  • 跨平臺數據交換(如字符編碼轉換)

掌握進制轉換、補碼運算和Unicode處理能力,是開發者的核心技能之一。

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

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

相關文章

【PyTorch】訓練時跟OOM相關的提示信息

1. RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling cublasCreate(handle)

基于maven-jar-plugin打造一款自動識別主類的maven打包插件

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

多態的主要好處與不足

多態是面向對象編程的核心特性之一,它通過方法重寫、接口實現等方式實現“同一操作作用于不同對象時產生不同行為”。以下是多態的主要好處與不足: 多態的好處 1. 提高代碼靈活性和擴展性 開閉原則支持:新增子類時,無需修改現有…

excel解析圖片pdf附件不怕

背景 工作中肯定會有導入excel還附帶圖片附件的下面是我解析的excel,支持圖片、pdf、壓縮文件實現 依次去解析excel,看看也沒有附件,返回的格式是Map,key是第幾行,value是附件list附件格式都被解析成pdf格式Reader.jav…

python爬蟲 線程,進程,協程

0x00 線程 線程是一個執行單位,是在一個進程里面的,是共享進程里面的提供的內存等資源,使用多個線程時和使用多個進程相比,多個線程使用的內存等資源較少。進程像一座“房子”(獨立資源),線程是…

ES|QL,知道嗎,專為搜索而生 —— 推出評分和語義搜索

作者:來自 Elastic Ioana Tagirta 在 Elasticsearch 8.18 和 9.0 中,ES|QL 支持評分、語義搜索以及更多的 match 函數配置選項,還有一個新的 KQL 函數。 使用 ES|QL 搜索 在 Elasticsearch 8.18 和 9.0 中,ES|QL 增加了一系列新功…

MIT6.S081-lab4

MIT6.S081-lab4 注:本篇lab的前置知識在《MIT6.S081-lab3前置》 1. RISC-V assembly 第一個問題 Which registers contain arguments to functions? For example, which register holds 13 in main’s call to printf? 我們先來看看main干了什么: …

一文總結通信電路中LC諧振回路中各公式以及對深入解讀品質因數Q

目錄 前言 一、基本公式總結 1.并聯諧振回路 2.串聯諧振回路 二、淺談品質因數 1.衡量諧振回路能量存儲與能量損耗之比的無量綱參數,用于描述諧振電路的頻率選擇性 2.當受到振蕩驅動力時,諧振腔的中心頻率與其帶寬的比值 3.為什么諧振時電容上的…

Linux:文件系統

一.認識硬件–磁盤 1. 物理結構 1.2 存儲結構 ?如何定位?個扇區呢? 可以先定位磁頭(header)——》確定磁頭要訪問哪?個柱?(磁道)(cylinder)——》 定位?個扇區(sector)。 柱?(cylinder&#xff09…

數字孿生廢氣處理工藝流程

圖撲數字孿生廢氣處理工藝流程系統。通過精準 3D 建模,對廢氣收集、預處理、凈化、排放等全流程進行 1:1 數字化復刻,實時呈現設備運行參數、污染物濃度變化等關鍵數據。 借助圖撲可視化界面,管理者可直觀掌握廢氣處理各環節狀態&#xff0c…

Scratch——第18課 列表接龍問題

在四級的考級中,接龍的題目雖然在CIE中只出現過兩次,但是這類題目對字符串的知識點考察相對全面。 一、接龍游戲的判斷方法 接龍的內容對應的字符數 ? 已接龍內容的字符數 滿足條件>接龍內容的第一個字符數 ? 上一項接龍的最后一個字符 滿足條件…

webgl入門實例-向量在圖形學中的核心作用

在圖形學中,向量是描述幾何、光照、運動等核心概念的基礎工具。以下是向量在圖形學中的關鍵應用和深入解析: 1. 向量的核心作用 幾何表示:描述點、方向、法線、切線等。空間變換:平移、旋轉、縮放等操作依賴向量運算。光照計算&a…

Redis 是如何保證線程安全的?

Redis 是如何保證線程安全的? Redis 是一個高性能的鍵值數據庫,廣泛應用于緩存、消息隊列、實時分析等場景。由于其性能優勢,Redis 已經成為許多系統的核心組件之一。然而,很多開發者在使用 Redis 時,常常會問&#x…

Img2img-turbo 在2080Ti上的測試筆記

1. 介紹 [img2img-turbo]是[pytorch-CycleGAN-and-pix2pix]推薦的更新的圖像變換的代碼實現; 2. 配置信息 Conda環境名稱:img2img-turbo 3. 問題描述 當前在我們嘗試使用了官方推薦的訓練命令在2080Ti上進行訓練, 3.1 出現了 CUDA out …

代碼隨想錄算法訓練營第三十五天|416. 分割等和子集、698.劃分為k個相等的子集、473.火柴拼正方形

今日題目 416. 分割等和子集 題目鏈接:416. 分割等和子集 - 力扣(LeetCode) 思考:本題要將數組分為兩個子數組,且兩個子數組和相等,因此首先可以想到的條件就是數組可分為兩個,這要求數組元素數…

純CSS實現自動滾動到底部

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>自動滾動到底部</title><style>*…

【新人系列】Golang 入門(十五):類型斷言

? 個人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4dd; 專欄地址&#xff1a;https://blog.csdn.net/newin2020/category_12898955.html &#x1f4e3; 專欄定位&#xff1a;為 0 基礎剛入門 Golang 的小伙伴提供詳細的講解&#xff0c;也歡迎大佬們…

AI大模型發展現狀與MCP協議誕生的技術演進

1. 大模型能力邊界與用戶痛點&#xff08;2023年&#xff09; 代表模型&#xff1a;GPT-4&#xff08;OpenAI&#xff09;、Claude 3&#xff08;Anthropic&#xff09;、通義千問&#xff08;阿里云&#xff09;等展現出強大的生成能力&#xff0c;但存在明顯局限&#xff1a…

深入理解Linux中的線程控制:多線程編程的實戰技巧

個人主頁&#xff1a;chian-ocean 文章專欄-Linux 前言&#xff1a; POSIX線程&#xff08;Pthreads&#xff09; 是一種在 POSIX 標準下定義的線程庫&#xff0c;它為多線程編程提供了統一的接口&#xff0c;主要用于 UNIX 和類 UNIX 系統&#xff08;如 Linux、MacOS 和 BS…

(mac)Grafana監控系統之監控Linux的Redis

Grafana安裝-CSDN博客 普羅米修斯Prometheus監控安裝&#xff08;mac&#xff09;-CSDN博客 1.Redis_exporter安裝 直接下載 wget https://github.com/oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz 解壓 tar -xvf redis_…