顯示具有 學習筆記 標籤的文章。 顯示所有文章
顯示具有 學習筆記 標籤的文章。 顯示所有文章

107.08.24 C 語言編譯到執行流程

很久之前寫過這篇 106.02.11 程式編譯流程
但是覺得還不夠深入,剛好學過編譯器了
雖然不是學到的主要內容,不過多整理有助於記憶,順便記錄專有名詞的英文這樣

先上總覽
參考 Create a program – C  - CodingMeta
language-processing for C

107.08.15 線性代數 determinant

行列式 (Determinant) 是數學中的一個函數,將一個 nxn 的矩陣 A 映射到一個純量
記作:\$\det(A)\$、\$\begin{vmatrix}A\end{vmatrix}\$
用途:
判斷是否可逆 (Invertible)、非奇異 (Nonsingular),若不為 0 代表可逆、非奇異
尋找特徵值 (Eigenvalue)

範例
\$A = \begin{bmatrix}
3 & 4\\
1 & 2
\end{bmatrix}\$,則 \$A\$ 的行列式 \$\det(A) = \begin{vmatrix}
3 & 4\\
1 & 2
\end{vmatrix}\$

107.08.14 作業系統 中斷 (Interrupt)

中斷 (Interrupt)

定義:指中央處理器 (CPU) 接收到來自硬體或軟體的訊號,而進行相對應的處理

107.08.13 線性代數 Inversion

欸豆,最近可能會整理一些之前的上課筆記 (線代、計理、OS、compiler....)
主要是想把當下有多記錄的技巧用比較好懂的方式寫出來
所以可能沒有很嚴謹也沒有很完整 QuQ
然後 Rust 系列斷有點久,我盡量不耍廢 QuQ

矩陣可逆性 (Matrix Inversion)

定義:
對於 nxn 的矩陣 \$A\$ 若存在一個 nxn 的矩陣 \$B\$,使得 \$AB = BA = I\$
則稱 \$A\$ 為可逆矩陣 (invertible)、也為非奇異矩陣 (nonsingular)
其中 \$I\$ 為單位矩陣 (identity matrix)、\$B\$ 稱作 \$A\$ 的逆矩陣 (inverse of A) 記作 \$A^{-1}\$

106.10.13 二進位運算 (binary operations)

沒認真整理還真的不會懂
覺得慚愧....
就來個難得長篇(我用了兩天寫,當然不是整整兩天OuO)
106.10.14 新增十進位轉成二進位方法

有錯誤請告知我QuQ

對了,針對這個我有用 Rust 實作一個 8-bit 的加減法器
傳送門在此 ( code 在 src/main.rs 裡

進入正題:

106.06.29 C#無法讀取CSV的字串

這是視窗期末專題主要遇到的問題(雖然已經放暑假了QuQ

主要的狀況就是C#透過OleDbConnection讀取CSV時發生只能讀到數字
其他中英文字串都會變成空格

結果似乎是匯入的預設值作怪,所以又要改機碼QuQ
以下為win10 x64解法

106.05.12 vs code python中文亂碼(含事前準備)

最近想寫些python爬蟲
Cygwin雖然有但是有點不太想用vim寫 (X
所以就順勢來找個最近頗熱門的vs code (全名Visual Studio Code)了
熱門主要原因是開源吧
而開源的關係也讓它的release頗頻繁,bugs修復也快

但是遇到亂碼有點煩躁=''=
以為無法解決時就解決了OuO


106.04.21 p5.js簡單語法

首先先來個我的作業展示OuO


開始QuQ

106.04.21 p5.js事前準備與問題解決

機率統計課要畫樹狀圖
教授又說網頁版為佳
只好亂找
剛好看到同學使用processing
查了一下才發現竟然有JS的網頁板可用,就是這篇主題p5.js
官方算是有詳盡的API跟教學
首頁恩....我不知道那個手指要幹嘛XDD

106.04.10 C#相對路徑

感覺網路上查的都沒有很清楚
而且大部分都有用有點複雜的方法
那時候上課C#找相對路徑的圖片狂吐FileNotFoundException
就來記錄個簡單一點的OuO


106.04.08 C# debug 輸出

大部分程式的debug方式不外乎在執行過程中把值印出來 (有其他方法,但直接印出較簡單

C#在執行過程中也可以加入相關的語法

106.04.01 組合語言 記憶體位置變數化

恩....好
還是一樣難過QuQ

今天要來記錄個 記憶體位置變數化(其實我不知道要怎麼形容它@@)
我搜尋關鍵字是這個:mips lw offset

就是呢
在處理陣列時要儲存元素就需要使用lw指令
(什麼opcode、I-type就不記錄了....
例如:
Array的起始位址為0x10010000
把它暫存在$t0 (這寫法是助教給的
addi    $t0, $zero, 4097  # $t0 = 0x00001001
sll     $t0, $t0, 16      # set the base address of array into $t0 = 0x10010000

若要使用元素
lw      $t1, 0($t0)   # 第一個(index = 0)
lw      $t1, 4($t0)   # 第二個(index = 1)
lw      $t1, 8($t0)   # 第三個(index = 2)
lw      $t1, 12($t0)  # 第四個(index = 3)

那個()前的數字:0、4、8、12....就是offsets
代表第幾個,4的倍數的原因是一個word有4bytes所以下一個就要跳4
這樣不是超級麻煩嗎?
而且無法搭配迴圈使用QuQ

再來就是我找到的解法了

106.03.31 Java作業四 各種四捨五入

這次過了死線了才PO啊....
原因可能是最近看的一部電影讓我頗憂鬱
《明天,我要和昨天的妳約會》
不說了,進正題吧QuQ

這次作業是讓我們用Babylonian method來求正數平方根並四捨五入到小數點後第二位


演算法不難照公式打就好
我覺得難的是四捨五入 (突然想到高中zero judge的d561:被秒殺的四捨五入
所以本篇主要記錄我查到的各種四捨五入方法

106.03.18 Java作業三記錄Hamming sequence

會不會太常PO文啊@@

本次作業為數列應用
查了一下發現是OEIS裡的A051037又有Hamming sequence、Regular number等稱號
簡單來說就是只有以2、3、5為質因數的數列
1~60範圍長這樣:
1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 25, 27, 30, 32, 36, 40, 45, 48, 50, 54, 60



題目有兩種模式:X模式、Y模式
X模式是問等號後方的數字是否為數列的數字
例如:X=10 ,若 10 是屬於這數列則印出true,反之false
這個模式算簡單,只要判斷是否可以整除2、3、5然後一直除,最後等於1就是屬於這數列
Y模式是問第幾個數為何
例如:Y=10 ,則要印出12

這Y模式也太難了吧,查資料時也看到這是一個演算法的經典問題
總之我想了頗久
雖然這是最不趕的作業但我不信邪XDD
好險還蠻順利的完成OuO

106.03.16 C#記錄

其實許多東西還是要靠自己查的
而且上課還要邊練習時間有點不足
就隨筆記錄一些Google過的問題吧OuO













106.03.13 Java作業二記錄

題目是解一元二次方程式,用公式解並不難
但有些語法我小卡就來記錄個

貼題目應該不會被吉吧@@

















106.03.12 組合語言筆記(二) 基本迴圈

關於Lab1我當時聽完解說之後完全不知道如何下手
絕對是我吸收不良OuO

題目:1+2+3+…+25 = 325 (十六進位:0x145)

為啥我覺得突然之間一言難盡 (要講的東西好多@@)




先從程式碼講起好了,其他看要不要再PO一篇(三)QuQ

106.03.12 組合語言筆記(一)

大二下有計算機組織
想說到現在都還沒碰到組合語言原本以為不會接觸了
結果....QuQ
可能是我資質不好所以助教的上的我有點吸收不良就來記錄個
p.s.使用的是 MIPS

紀錄之前再強力推薦 Atom 也有支援,不想用記事本的來吧QuQ


106.02.16 Qt TODO (To-Do Entries)

開始用 QML 練習了
想說 TODO 語法怎麼沒有高亮
就查了一下相關的東西,好像真的沒辦法高亮QAQ
只有另外的視窗顯示標示的說明跟行數
最終結果長這樣














106.02.11 程式編譯流程

今天同學會被同學一問
突然覺得自己沒學好
就來記錄了QuQ

















^ Top