【讀書筆記】《編碼:隱匿在計算機軟硬件背后的語言》01 邏輯與開關

【讀書筆記】《編碼:隱匿在計算機軟硬件背后的語言》01 邏輯與開關

  • 前言
  • 01 邏輯與開關

前言

??我是一名光學工程專業研二的學生,目前正處于找工作的階段,根據往年師兄師姐找工作的情況,在西安這個城市不出意外我能找到的應該就是嵌入式崗位了,所以我開始想辦法提升自己在這方面的知識水平,以此來應對八九月份的秋招。本科階段我學過模電、數電、微機原理、單片機等基礎課,但本科階段懂得都懂,只要不掛科就行,所以對嵌入式這方面的知識也只停留在表面,比如問我什么是CPU、寄存器等等和計算機相關的問題,我一時半會兒還真的回答不上來。
??于是,我開始學習計算機相關的知識,在機緣巧合下我讀到了這本書,這本書沒有晦澀難懂的專業術語,作者用豐富的想象和清晰的語言表達將計算機的發展過程和原理一步步展現在我的面前,通過通俗易懂的方式,從基礎的編碼概念逐步深入到計算機的軟硬件原理,這讓我在閱讀過程中逐漸把本科階段乃至高中物理學到的一些知識串聯在一起,讓我受益匪淺,所以我忍不住想記錄一下里面引發我思考的精彩內容,這也算是我做的一個讀書筆記,讓我以后也能方便直觀的回顧。

01 邏輯與開關

??前幾章通過摩斯電碼、布萊葉盲文、繼電器等實例,引入了二進制數和用繼電器充當開關的概念,即二進制數1和0分別對應開關的打開和關閉的狀態。這里我們就不寫前幾章的內容了,主要寫讓我覺得好玩的部分。
??這一部分作者先引入了布爾代數的知識:通常用字母來表示具體的物體(類/集合),然后對這些具體的類進行邏輯運算。

??舉個例子:
??我們可以用M代表公貓,F代表母貓,T可以代表褐色的貓,B可以代表黑貓,W代表白貓,O代表不在T、B或W集合中的其他顏色的貓,字母N來表示已被絕育的貓,字母U表示未被絕育的貓。這些字母用來表示有特定特征的貓的群體。

??布爾代數中,有時用符號“∪”(并集)和“∩”(交集)來代替“+”和“×”(在概率論中我也學過)。這里我們能復習一個知識就是“或”(or)=并 (+)、“和”(and)=交(×)
??顯然通過 M + F = T + B + W + O = N + U = 1 M+F=T+B+W+O=N+U=1 M+F=T+B+W+O=N+U=1可以表示所有貓的集合。

??特別注意的是:傳統代數的交換律、結合律和分配律在布爾代數中同樣成立。而且在布爾代數中,加法還可以來分配乘法,但在傳統的代數中,這是不成立的:
W + ( B × F ) = ( W + B ) × ( W + F ) W+(B×F)=(W+B)×(W+F) W+(B×F)=(W+B)×(W+F)
白貓和黑色母貓的并集=白貓和黑貓的并集和白貓和母貓的并集。


??如果我們去寵物店買貓,要求:“一只公貓,已絕育的,白色或褐色都可以,或者一只母貓,也要是已絕育的,除了白色任何顏色都可以;或者,只要是黑貓“就可以用以下公式表示:

( M × N × ( W + T ) ) + ( F × N × ( 1 ? W ) ) + B (M×N×(W+T))+(F×N×(1-W))+B (M×N×(W+T))+(F×N×(1?W))+B

??用公式表達的好處是,我們就可以做一個布爾測試了。為了避免麻煩,這里,字母可以用數字來賦值。我們只用數字0和1。數字1代表YES, True,即這只貓是符合這樣的標準的。數字0表示NO, False,即這只貓不符合這種特定標準。

??如果店員拿了一只未絕育的褐色公貓,替換后的公式: ( 1 × 0 × ( 0 + 1 ) ) + ( 0 × 0 × ( 1 ? 0 ) ) + 0 = 0 (1×0×(0+1))+(0×0×(1-0))+0=0 (1×0×(0+1))+(0×0×(1?0))+0=0,因此這只貓不符合要求。
??店員隨后拿出了一只已絕育的灰色母貓,替換后的公式: ( 0 × 1 × ( 0 + 0 ) + ( 1 × 1 × ( 1 ? 0 ) ) + 0 = 1 (0×1×(0+0)+(1×1×(1-0))+0=1 (0×1×(0+0)+(1×1×(1?0))+0=1,這說明這只小貓符合咱們的要求可以帶回家了!

??值得注意的是,我們剛剛的一系列做法把我們的抽象文字用具體的公式和數字表達出來了,但這樣做每次我們還需要代入數字0和1計算最終結果,還是不夠直觀。

??有沒有什么方法可以直觀展示結果呢?
??這時我們突發奇想,是否可以通過連通開關和燈泡的方法來確定某類貓咪是否符合我們的標準呢?


??讓我們嘗試設計一個幫助顧客挑選心儀貓咪的電路吧!
??在初中物理課,我們學過串聯電路和并聯電路,我們可以說0代表“開關斷開”?,1代表“開關閉合”?,一個燈泡有兩種狀態,0代表“燈泡不亮”?,1代表“燈泡亮”?。我們可以用真值表表示燈泡的亮滅與開關的關系。

??兩個開關串聯相當于布爾代數中的AND運算。
在這里插入圖片描述
??兩個開關并聯相當于布爾代數中的OR運算。
在這里插入圖片描述

結合上面初中的物理知識(“和”(and)=交(×)=串聯、“或”(or)=并 (+)=并聯),如下圖所示,剛剛我們對于貓咪的要求就可以用電源、開關和燈泡來做一個電路了:

“一只公貓,已絕育的,白色或褐色都可以,或者一只母貓,也要是已絕育的,除了白色任何顏色都可以;或者,只要是黑貓” ( M × N × ( W + T ) ) + ( F × N × ( 1 ? W ) ) + B (M×N×(W+T))+(F×N×(1-W))+B (M×N×(W+T))+(F×N×(1?W))+B
在這里插入圖片描述
此時如果店員拿出一只已絕育的灰色母貓,我們只需要閉合和打開對應的開關。
在這里插入圖片描述
燈泡被成功點亮了,表明這只貓符合顧客的全部要求。

作者在這章最后說到:“然而,在19世紀,沒有人將布爾代數中的AND和OR同線路中的開關串聯及并聯關聯到一起”,但我們居然做到了,這也太有趣了!


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

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

相關文章

TXT編碼轉換工具iconv

iconv.exe是實現TXT編碼轉換的命令行工具,支持幾百種編碼格式的轉換,利用它可以在自主開發程序上實現TXT文檔編碼的自動轉換。 一、命令參數格式 Usage: iconv [-c] [-s] [-f fromcode] [-t tocode] [file ...] or: iconv -l 二、轉換的示例 將UTF-8…

軟考中級數據庫備考-上午篇

背景 新工作主要做大數據平臺,考一個軟考中級數據庫系統工程師,補足一下基礎知識。 基礎知識 1.計算機硬件基礎知識 正確答案:C 正確答案:D 正確答案:C 正確答案:BC 正確答案:B 正確答案:D 正確答案:A DMA建立內存與外設的直接…

AtCoder AT_abc405_d ABC405D - Escape Route

前言 BFS 算法在 AtCoder 比賽中還是會考的,因為不常練習導致沒想到,不僅錯誤 TLE 了很多,還影響了心態,3 發罰時后才 AC。 思路 首先,我們把所有位置和出口的距離算出來(用 BFS)&#xff0c…

【計算機視覺】目標檢測:yoloV1~yoloV11項目論文及對比

以下是 YOLO (You Only Look Once) 系列模型從 V1 到 V11 的詳細介紹和項目地址(截至2024年7月)。YOLO 是目標檢測領域的里程碑模型,以其 實時性 和 高精度 著稱,廣泛應用于自動駕駛、安防監控、工業檢測等領域。 YOLOv1 (2016) …

推薦系統架構設計

1.分析用戶行為數據?:? 收集用戶的活躍時間、點擊行為、瀏覽歷史等數據。?分析用戶的活躍模式,確定用戶最活躍的時間段。?kafka flink 數據庫 分析用戶行為并存儲 2. 預生成推薦內容?:? 在用戶活躍時間之前,預先生成推薦…

BERT類模型

1. BERT類模型是否需要處理 [CLS] 或池化? 那首先搞懂 [CLS] 和池化 (1)[CLS] 的作用 BERT 的輸入格式中,每個序列的開頭會添加一個特殊的 [CLS] Token(Classification Token)。它的設計初衷是為分類任務…

我的世界云端服務器具體是指什么?

我的世界云端服務器是指一種基于互聯網的多人游戲服務器,將游戲服務器運行在云平臺上,而不是在本地計算機中,這使用戶不需要考慮自身電腦的性能和網絡穩定性,只需要通過網絡連接到云端服務器,就可以享受到順暢的游戲體…

軟考(信息系統運行管理員)

第一章 信息系統運維概述 1.1 信息系統概述 信息的含義和類型 信息的含義: 一般:人們關心的事情的消息或知識。香農(信息論創始人):用來減少隨機不確定性的東西(標志著信息科學進入定量研究階段&#xff…

Unity基礎學習(九)輸入系統全解析:鼠標、鍵盤與軸控制

目錄 一、Input類 1. 鼠標輸入 2. 鍵盤輸入 3. 默認軸輸入 (1) 基礎參數 (2)按鍵綁定參數 (3)輸入響應參數 (4)輸入類型與設備參數 (5)不同類型軸的參…

VBA將PDF文檔內容逐行寫入Excel

VBA是無法直接讀取PDF文檔的,但結合上期我給大家介紹了PDF轉換工具xpdf-tools-4.05,先利用它將PDF文檔轉換為TXT文檔,然后再將TXT的內容寫入Excel,這樣就間接實現了將PDF文檔的內容導入Excel的操作。下面的代碼將向大家演示如何實…

Spring Boot之MCP Client開發全介紹

Spring AI MCP(模型上下文協議,Model Context Protocol)客戶端啟動器為 Spring Boot 應用程序中的 MCP 客戶端功能提供了自動配置支持。它支持同步和異步兩種客戶端實現方式,并提供了多種傳輸選項。 MCP 客戶端啟動器提供以下功能: 多客戶端實例管理 支持管理多個客戶端實…

[題解]2023CCPC黑龍江省賽 - Folder

來源:F.Folder - Codeforces題意:給定由 n ( 1 ≤ n ≤ 1 0 5 ) n(1\le n\le 10^5) n(1≤n≤105)個結點組成的樹,每次操作可將一棵子樹接到其他結點上。求將樹轉換為一棵斜樹的最小操作次數。關鍵詞:思維(簽到)題解:斜…

string[字符串中第一個的唯一字符][藍橋杯]

使用哈希表解決 class Solution { public:int firstUniqChar(string s) {int arr[26];for(int i0;i<s.size();i){arr[s[i]-a];}for(int i0;i<s.size();i){if(arr[s[i]-a]1)return i;}return -1;} };

【深度學習-Day 8】讓數據說話:Python 可視化雙雄 Matplotlib 與 Seaborn 教程

Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

Flink 實時數據一致性與 Exactly-Once 語義保障實戰

在構建企業級實時數倉的過程中,“數據一致性” 是保障指標準確性的核心能力,尤其是在金融、電商、醫療等對數據敏感度極高的場景中。Flink 作為流批一體的實時計算引擎,其內建的 Exactly-Once 語義為我們提供了強有力的保障機制。本篇將圍繞如何實現端到端的數據一致性、如何…

傅利葉十周年,升級核心戰略:“有溫度”的具身智能藍圖

5月9日&#xff0c;傅利葉十周年慶典暨首屆具身智能生態峰會在上海正式召開。本次大會以“十年共創&#xff0c;具身成翼”為主題&#xff0c;匯聚了來自通用機器人與醫療康復領域的頂尖專家學者、合作伙伴與投資機構&#xff0c;共同探索具身智能在未來十年的技術應用與生態發…

Docker中mysql鏡像保存與導入

一、Docker中mysql鏡像保存 Docker 的 MySQL 鏡像保存通常有兩種場景&#xff1a;一種是保存鏡像本身的修改&#xff08;如配置、初始化數據&#xff09;&#xff0c;另一種是持久化保存容器運行時產生的數據&#xff08;如數據庫表、用戶數據&#xff09;。以下是具體方法&am…

大模型微調指南之 LLaMA-Factory 篇:一鍵啟動LLaMA系列模型高效微調

文章目錄 一、簡介二、如何安裝2.1 安裝2.2 校驗 三、開始使用3.1 可視化界面3.2 使用命令行3.2.1 模型微調訓練3.2.2 模型合并3.2.3 模型推理3.2.4 模型評估 四、高級功能4.1 分布訓練4.2 DeepSpeed4.2.1 單機多卡4.2.2 多機多卡 五、日志分析 一、簡介 LLaMA-Factory 是一個…

記錄一次window2012r2安裝配置oracle11g的過程-出現的錯誤以及解決方法

Windows server 2012R2安裝Oracle11g 出現的錯誤 同事反饋正常安裝oracle后&#xff0c; 使用命令行 sqlplus sys / as sysdba出現“ORA-12560:TNS:協議適配器錯誤”。 去services.msc服務狀態里面 OracleOraDb11g_home1TNSListener服務停止狀態&#xff0c;而且無法啟動。 …

2003-2020年高鐵線路信息數據

2003-2020年高鐵線路信息數據 1、時間&#xff1a;2003-2020年 2、來源&#xff1a;Chinese High-speed Rail and Airline Database&#xff0c;CRAD 3、指標&#xff1a;高鐵線路名稱、起點名、終點名、開通時間、線路長度(km)、設計速度(km/h&#xff09;、沿途主要車站 …