基礎邏輯電路(上)
基礎邏輯電路(上) 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 本篇文章主要作為個人學習用途,撰筆形式概要以筆記形式撰筆。另外本篇文章以入門為導向,若需詳細閱讀相關學門,請搜尋「數位系統導論」或「數位系統設計」。 布林代數式(Boolean Algebra) Boolean Algebra 是數學當中的一個分支,專門用來處理 0 跟 1 這種真(True)假(False)值。主要針對二進位變數以及邏輯運算,如最基礎的 AND、OR、NOT。 邏輯運算(Logical Operations) AND or Conjunction(關聯) OR or Disjunction(無關) NOT or Negation(否定) AND 用布林代數式可表示為 $A \cdot B$ 或是 $A \wedge B$ 。 OR 用布林代數式可表示為 $A + B$ 或是 $A \lor B$ 。 NO...
【Python 筆記】正規運算式(Regular Expression)
【Python 筆記】正規運算式(Regular Expression) 感謝您點進本篇文章,本篇文章為我 LukeTseng 個人首篇 Python 筆記系列文章,主要記錄我個人學習軌跡,所有內容皆用於個人學習用途,斟酌參考。若文章有任意處有誤,煩請各位指點,謝謝。 簡介 這東西的名字很多,有什麼正規表達式、正規表示法、規則運算式、常規表示法等等,我個人比較習慣叫他是正規運算式,總之他的名字就是 Regular Expression(簡稱 RE、regex)就對了,在這之後我都叫他是 regex 縮寫。 regex 是一套用來描述和比對字串樣式規則的「語法」或「表示法」,通常被嵌入在各大程式語言當中,例如我們最愛用的 Python 就是其一。regex 在處理和解析字串方面十分強大,因此也是我們要學習的對象。 你可能想說在 notepad 裡面就可以用搜尋、取代這些功能了,為什麼還需要 regex?因為 regex 他不只是只有搜尋、取代這些功能而已,他還有篩選的功能,例如可以篩出特定字元、字串,以此來找到電子郵件格式及電話號碼。 在 Python 使用 regex 1impo...
什麼是奇偶校驗?(Parity Bit)
什麼是奇偶校驗?(Parity Bit) 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 若文章有任何疑點及錯誤的地方歡迎提出。 Parity Bit Parity bit(同位位元 or 奇偶校驗位)為最簡單且廣泛使用的錯誤檢測方法,透過在資料中增加一個額外的位元來檢測傳輸或儲存過程中是否發生錯誤。這個概念在現代計算機系統與串列通訊中扮演著重要的角色。 From Wikibooks : https://zh.wikibooks.org/zh-tw/嵌入式系统/奇偶校验 原理 做奇偶校驗前先計算二進位中 1 的個數,在 1 byte 中,通常有 7 bits 用於實際資料,第 8 個 bit 用來當作檢查位(或稱校驗位)。檢查位的值會根據其他 7 個 bits 中「1」的個數來決定,使整個 byte 中 1 的總數保持為奇數或偶數。 也就是說如果要做偶校驗,假設這 1 byte 的資料裡面 1 的數量有 5 個,由於是做偶校驗,...
Excess Notation 與儲存實數(含浮點數)的方法
Excess Notation 與儲存實數(含浮點數)的方法 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 另外本篇偏向於做題篇,原理部分可能點到為止。 若文章有任何疑點及錯誤的地方歡迎提出。 Excess Notation(移碼、偏移表示法) Excess Notation(也叫超額表示法)主要用於浮點數的指數(exponent)部分。 原理是將實際的數值加上一個固定的偏移值(bias)(如 127 或 1023),使得所有可表示的數值都變成非負數,並以便於無符號(unsigned)方式儲存與比較。 於 Excess Notation 中,假設偏移量是 $N$ ,則實際要表示的數 $x$ 會轉成儲存值 $x_{excess}$ 。 $$x_{excess} = x + N$$ 舉一個例子,IEEE 754 單精度浮點數的指數以 excess-127 表示(dash 後面的 127 就是偏移量),若指數為 $2$ 那儲存值就會是 ...
【Uva 題庫解題】C++ 個人解題筆記 - part4
【Uva 題庫解題】C++ 個人解題筆記 - part4 本次題庫擷取自 CPE 2025/09/30 歷屆考題(本文撰筆日期 2025/10/03 時 CPE 官網尚未更新,但在瘋狂程設已有歷屆試題)。 練習題 第一題是 Hello World,第二題為 Rock, Scissor, Paper,第三題則為必考題 Fourth Point,第四題是 LCM Pair Sum。 Uva 10443 - Rock, Scissor, Paper Uva Online Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1384 No Zerojudge :( PDF Source:https://onlinejudge.org/external/104/10443.pdf 題目翻譯: Bart 的妹妹 Lisa 在一個二維網格上創造了一個新的文明。一開始,每個網格位置可能被三種生命體之一佔據:石頭(Rock)、剪刀(...
【VSCode & Ubuntu】超詳細教學!如何在 VSCode 遠端控制 VMWare Terminal
【VSCode & Ubuntu】超詳細教學!如何在 VSCode 遠端控制 VMWare Terminal 大家好我是 LukeTseng,會想撰寫本次文章主要是因為在虛擬機與 Windows 之間切換複製貼上、打指令太麻煩了,而且 Ubuntu 的 vim 編輯器用的不是那麼習慣XD,所以特此製作本篇文章介紹如何在 VSCode 透過 SSH 遠端控制 VMWare Ubuntu 的 Terminal。 若本篇文章部分指令或敘述有誤,麻煩各位敬請勘誤,感謝你的閱讀。 若還沒安裝過 VSCode 的可以前往該連結下載:https://code.visualstudio.com/ VSCode Extension : Remote - SSH 在左側欄位找到一個有四個方塊圖案的,點下去後,來到我們的擴充商店,搜尋 Remote 即可找到 【Remote - SSH】插件。 註:這邊我已經安裝過了,所以會出現 Uninstall 的字樣。 虛擬機設定 開啟我們的虛擬機,開啟【Edit virtual machine settings】: 找到 【Network Adap...
【Python 網路爬蟲筆記】BeautifulSoup Library - part 3
【Python 網路爬蟲筆記】BeautifulSoup Library - part 3 感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 另外本篇筆記使用 VSCode 環境進行編寫,部分模組(函式庫)需自行下載。 安裝 BeautifulSoup 模組 若使用 google colab 或 anaconda 環境者無須安裝。 指令: 1pip install beautifulsoup4 引入 BeautifulSoup 模組 1from bs4 import BeautifulSoup 為什麼我們要用 BeautifulSoup? BeautifulSoup 的主要用途是解析 HTML 和 XML,將網頁內容轉換成結構化的樹狀格式供程式操作 。 網頁資料解析與擷取是 BeautifulSoup 最主要的用途。 在網路爬蟲的世界,無可或缺的除了 request 模組外,就是 BeautifulSoup,有...
如何解決 VMWare AMD V / RVI 不支援該平台問題
如何解決 VMWare AMD V / RVI 不支援該平台問題 大家好,我是 LukeTseng,近期將桌機轉到筆電時,在筆電安裝 VMWare,啟動虛擬機時遇到了一些問題,因此撰寫本篇文章來解決這個問題。 那麼這個問題就是,開啟虛擬機後,會跳出: Virtualized AMD-V/RVI is not supported on this platform. Continue without virtualized AMD-V/RVI? 這問題是因為 Windows 11 預設啟用 Virtualization-based Security(VBS),這個功能使用 Hyper-V 作為底層技術,會佔用硬體虛擬化資源,導致 VMware Workstation 無法使用 AMD-V/RVI 進行虛擬化。 然後接下來就讓我來一步一步告訴各位怎麼做吧。 第一步:關閉【記憶體完整性】 首先對 Windows Defender 的 tray icon 按下滑鼠左鍵一下。 進入介面後,在左側邊欄選擇【裝置安全性】。 再來於【核心隔離】的下方點擊【核心隔離詳細資料】。 然後確保【...
【Python 網路爬蟲筆記】Requests Library - part 2
【Python 網路爬蟲筆記】Requests Library - part 2 感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 另外本篇筆記使用 VSCode 環境進行編寫,部分模組(函式庫)需自行下載。 安裝 Requests 函式庫 Colab 及 Anaconda 環境無須安裝,內建即有。 若不確定自己有裝的話,可以輸入 pip list 查看已安裝的所有模組。 使用指令 pip install requests。 像我已經安裝過了,再安裝一次他會跟你說 Requirement already satisfied,表示你裝過了。 另外一個測試有沒有安裝過該模組的方法,可以打開 VSCode 或其他環境,輸入以下指令並執行即可: 12import requestsprint(requests.__version__) 執行後會在最下面出現版本資訊。 Requests 基礎用法 使用前須引入模組 i...
【Python 資安筆記】編碼(Encoding)
【Python 資安筆記】編碼(Encoding) Cover : https://www.publicdomainpictures.net/en/view-image.php?image=563833&picture=hacking 感謝你點進本篇筆記!該系列筆記主要紀錄學習資安的過程,以及我個人的一些簡單白話解釋,另外也涉及到在學校中上課所學的資安技巧及知識。 若本篇文章有誤,麻煩各位告訴我,這樣才能好讓我進步!謝謝~ 自網站 CryptoHack 進行學習:https://cryptohack.org/ ASCII 字元編碼 Python 之間的轉換可以用 chr() 以及 ord() 兩個函式做到。 以下是對於 chr() 以及 ord() 兩函式的解釋: chr() 接受十進位或十六進位的數字,回傳值為傳入參數所對應的 ASCII 字元,如傳入參數 97,就回傳輸出 'a' 這個字元。 ord() 與 chr() 相反,它接受一個字元當作參數傳入,回傳對應的 ASCII 數值,或是 Unicode 數值。 以下程式碼就做了兩個函數之間的轉換關係: 12345...
儲存整數的方法,在電腦裡負數是如何表示的
儲存整數的方法,在電腦裡負數是如何表示的 歡迎你點入本篇文章,會促成我想做這篇的原因,主要是因為在上計概時,突然浮現很多靈感,跟一大堆的問題(教授,為什麼要講的這麼淺白呢?我想知道更多啊啊!),為了一次解決我所有的困惑,於是製作本篇文章。 另外本篇偏向於做題篇,原理部分可能點到為止。 若文章有任何疑點及錯誤的地方歡迎提出。 上一篇文章:淺談二進位與十六進位,為什麼電腦要使用?你所不知道的二進位。 Sign–magnitude representation(原碼表示法) 這種方法可以顯示 $2^n - 1$ 個無號整數(unsigned integer)。 無號整數(unsigned integer) 所謂無號整數亦即 >= 0 的整數,這種整數儲存方式很簡單,只要把十進位轉換成二進位即可。 如:將 7 轉成 8 bit(位元)的整數。 7 的二進位是 $(111)_2$ ,要轉成 8 bit 就在前面補 0,變成: $(00000111)_2$ 即可。 在 8 bit 的系統裡面,如果 $(11111111)_2 + (00000001)_2$ ,這兩個相加之後,會變成 $...
【Python 網路爬蟲筆記】Introduction - part 1
【Python 網路爬蟲筆記】Introduction - part 1 感謝你點進本篇文章!!我是 LukeTseng,一個熱愛資訊的無名創作者,由於近期大學開設大數據分析程式設計這門課程,裡面談到了爬蟲概念,讓我激起一些興趣,因而製作本系列筆記。 聲明:本篇筆記僅供個人學習用途,斟酌參考。 何謂網路爬蟲(Web Crawler)? Image Source:https://www.freepik.com/free-vector/cute-spider-sticker-white-background_20770625.htm#fromView=keyword&page=1&position=48&uuid=58458110-a248-4037-895d-b6b66f71a92b&query=Spider+cartoon 網路爬蟲(Web Crawler),也叫網路蜘蛛,是一種用來自動瀏覽全球資訊網的網路機器人。其目的一般為編纂網路索引。 From WikiPedia 網路爬蟲最主要的用處是可以「自動化」幫我們擷取及收集想要的資訊。 一般的...
【Leetcode C++ 解題筆記】Divide & Conquer - part 2
【Leetcode C++ 解題筆記】Divide & Conquer - part 2 本筆記僅供個人學習用途,內容斟酌參考。 1. Convert Sorted Array to Binary Search Tree Problem Source:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/description/?envType=problem-list-v2&envId=divide-and-conquer 難度:Easy 題意大致上就是要你把一般常見的陣列轉換成 BST。 補充一下 BST 特性: 左子樹的 Nodes 都比 Root 還小;反之,右子樹都比 Root 還大。 子樹必須都是 BST。 解題思路: 用到 Divide & Conquer 的概念,每次把「目前」陣列片段選中間元素作為 root。 對 root 左側遞迴呼叫產生左子樹,右側也一樣,直到子陣列長度為 0 就結束。 範例程式碼: 12345678910111213141...
2025 VMWare Workstation Pro 免費安裝教學
2025 VMWare Workstation Pro 免費安裝教學 大家好,我是 LukeTseng,現在的 VMWare Workstation Pro 已經轉免費了,但是安裝流程有些繁瑣,在此我來幫助各位解決這個問題! 本篇教學主要以新手向為主,透過一步、一做的流程進行教學。 若本篇教學文章有誤,懇請勘誤,感謝您。 先開啟 VT 虛擬化技術功能! 我們要玩虛擬機之前,無論是你曾玩過什麼 BlueStacks、夜神模擬器,那些都需要開啟所謂的 VT 虛擬化技術,才能順跑。 不開也是可以,只是會讓你用到懷疑人生。 我如何確認已經開啟 VT?很簡單,先到我們的工作列空白處按下滑鼠右鍵,開啟工作管理員。 開啟之後在視窗左側欄位點選【效能】選項。 點擊我們的 CPU 欄位,可看到模擬是否已啟用,啟用的話就是有開 VT。 在開啟這個之前呢,我們需要進入電腦的 BIOS 系統,以下是個人電腦(PC)與筆電端的操作方式: HP:https://www.hp.com/hk-zh/shop/tech-takes/post/如何在-windows-個人電腦上進入-bios-設置 ASUS:...
【Uva 題庫解題】C++ 個人解題筆記 - part3
【Uva 題庫解題】C++ 個人解題筆記 - part3 本次題庫擷取自 CPE 2025/05/20 歷屆考題:https://cpe.mcu.edu.tw/cpe/test_data/2025-05-20 1. B2-sequence Uva Judge:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2004 Zerojudge:https://zerojudge.tw/ShowProblem?problemid=d123 該題屬於一顆星選集的範圍,具體就不再說明了,直接給 Code: 上傳 Uva 的時候須注意條件: B2-sequence 必須嚴格遞增 且 $b_i >= 1$ 1234567891011121314151617181920212223242526272829303132333435363738394041#include <bits/stdc++....







