- Nov 06 Sun 2022 16:21
-
高峰植物園
- Nov 06 Sun 2022 08:53
-
整合字串轉列舉(Enum)和旗標(flag)操作

整合之前寫的字串轉列舉和位元(bit)操作,為了保持.NET命名風格的一致性,位元操作改稱為旗標(flag)操作
之前寫的字串轉列舉沒考慮到多旗標([Flags]Enum)的情況,也在此做更新
- Oct 28 Fri 2022 10:33
-
位元反轉(bit reversal)與位元補充(bitwise complement)

參考dadalaohua大的文章:
https://iter01.com/536953.html
反轉byte內的bits,不像反轉集合內的元素順序,呼叫List<T>.Reverse()即可完成,效能要好,要設計出速度夠快的演算法,不容易
- Oct 25 Tue 2022 16:58
-
補充說明多位元(bits)操作
- Oct 23 Sun 2022 16:23
-
位元(bit)操作及2進制與16進制數值表示法

移位運算(>> / <<),邏輯運算(AND / OR)(& / |),位元補充(~),2進制數值表示(0b),16進制數值表示(0x),相關功能包裝與使用範例紀錄於此
Byte內的位元位置通常從0開始,代稱為:
- Oct 19 Wed 2022 14:58
-
數值轉2進制輸出

接續之前關於PackBCD格式的介紹,利用Convert.ToString強大的功能,將數值資料轉為2進制輸出,觀察PackBCD格式與一般數值格式的差異
輸入資料>=10開始出現差異,因為10被拆成1與0,1被儲存於高四位,0被儲存於低四位
Convert.ToString(1,2).PadLeft(8,'0')
"00000001"
Convert.ToString(9,2).PadLeft(8,'0')
"00001001"
Convert.ToString(10,2).PadLeft(8,'0')
"00001010"
Convert.ToString(PackBCDConverter.ToPackBCD(1),2).PadLeft(8,'0')
"00000001"
Convert.ToString(PackBCDConverter.ToPackBCD(9),2).PadLeft(8,'0')
"00001001"
Convert.ToString(PackBCDConverter.ToPackBCD(10),2).PadLeft(8,'0')
"00010000"
- Oct 14 Fri 2022 21:12
-
PackBCD格式

PackBCD格式是一種數值儲存格式,用4個bits紀錄數字0~9,1個byte拆成高四位和低四位,可以儲存00~99
此格式常見於金融財務會計領域,譬如櫃買中心的上櫃股票IP行情網路規格書:
https://dsp.tpex.org.tw/web/system/trainsmit.php
- Oct 08 Sat 2022 18:48
-
VisualStudio的即時運算視窗
- Oct 05 Wed 2022 09:29
-
擴充ComboBox使用上的方便性2

延續之前的擴充ComboBox使用上的方便性1
參考資料
https://github.com/punker76/MahApps.Metro.SimpleChildWindow/issues/69
- Sep 29 Thu 2022 09:59
-
Codility測試題答案優化
- Sep 27 Tue 2022 17:33
-
線上程式設計考試Codility測試題

有機會看到一個程式設計測試題,要通過題目給的測試案例(Example test cases)簡單,要通過正確性測試(Correctness test cases)有點難,要通過效能測試(Performance test cases)很難,在此記錄心得
測試題全測試項目通過會得到100分


