接下來的打算

2022-05-08 08:30:09 字數 2230 閱讀 4109

接下來,一方面要趕緊測試提速的晶元和繼續typeb的coding,另一方面,比如晚上我就想寫寫基本的介面,從rs-232開始吧。

今天下午寫了個新的指令碼函式,就是之前的生成序列的函式的拓展,新增了進製,和位寬的支援,比如現在已經支援hex/dec/oct/bin 這4種進製數的輸入,接著新增了位寬,比如你想隨便初始化乙個1kx32的rom,寫了乙個*.rom檔案,位寬就要限定為8(hex),所以這個功能也是很好用的。下面附上**

function! array_gen(begin_num, end_num, step_num, radix_num, width_num)       

let l1=a:begin_num

while l1hex

if(a:width_num==2)

let l2=printf("%02x", l1)

elseif(a:width_num==4)

let l2=printf("%04x", l1)

elseif(a:width_num==8)

let l2=printf("%08x", l1)

else

let l2=printf("%x", l1)

endif

elseif(a:radix_num==10) " 10-radix-->dec

if(a:width_num==2)

let l2=printf("%02d", l1)

elseif(a:width_num==4)

let l2=printf("%04d", l1)

elseif(a:width_num==8)

let l2=printf("%08d", l1)

else

let l2=printf("%d", l1)

endif

elseif(a:radix_num==8) " 8-radix-->oct

if(a:width_num==2)

let l2=printf("%02o", l1)

elseif(a:width_num==4)

let l2=printf("%04o", l1)

elseif(a:width_num==8)

let l2=printf("%08o", l1)

else

let l2=printf("%o", l1)

endif

elseif(a:radix_num==2) " 2-radix-->bin

let nr = l1

let l2 = ''

while nr >= 1

let remainder = nr%2

let quotient = nr/2

let nr = quotient

let l2 = printf("%d", remainder) . l2

endwhile

if(a:width_num==4)

let l2=printf("%04d", l2)

elseif(a:width_num==8)

let l2=printf("%08d", l2)

elseif(a:width_num==12)

let l2=printf("%012d", l2)

elseif(a:width_num==16)

let l2=printf("%016d", l2)

else

let l2=printf("%d", l2)

endif

endif

exec "norm o" . l2 . "\"

let l1=l1+a:step_num

endw

endfunction

我發現printf活用起來還真是個厲害的函式,本來我打算用引用外部程式轉化的方法,但是發現比如你在vim裡面的變數l1,沒法傳給外面的函式來給你進行進製轉化,學到了乙個bc的命令。比如$ echo 'obase=16;100' | bc這個東西就能把100轉化成hex的數值,再有比如你在shell程式設計的時候「」裡面是支援變數呼叫的(『』不支援)。所以可以有這樣的命令,$ set di=2; echo "obase=$di;100" | bc就能把100轉化成bin,不多說,system來取得外部程式的返回值的話,沒法把l1這個迴圈變數交過去,本來還想問問別人的,但是後來想想,這種東西應該就是函式介面的問題,已經不是我能關注到的了,所以就放棄了,不知道最終能不能實現

C接下來的TinyHttpD

起因 在看計算機網路時,剛好在leetcode買了一本 網路是怎樣連線的 越發覺得要看協議的應用 server的實現。過程 試過python的socket模組還有flask與django,由於語言太過於抽象 高階,不接近底層實現 而造成無法細緻理解,故在code sheep推薦下來讀tinyhttp...

接下來的KindEditor開發計畫

接下來編輯器要分開發展,乙個方向是繼續完善3.x系列,另乙個方向是新一代的編輯器4.0。3.x的發展優先度高於4.0,4.0目前處於構思階段,重新設計底層框架。b 3.x系列要實現的功能 b 1.細節功能的持續完善 2.修正 3.undo redo改善 4.檔案上傳和管理 file manager外...

接下來幾天的訓練計畫

前幾天做一些模擬賽時,被一些基礎題卡了,反思一下,是自己基礎題不過關,想要在acm路上走的越來越遠,必須打好基礎。做了兩節後,發現usaco上的題正好練基礎,在去艾教那裡培訓之前還有半個月的時間,夠打好基礎了。7.15 模擬練 12 30 5 30 晚上爭取可以補兩道題 7.16 cccc比賽 一天...