原创 負數的表示方法:2的補碼和1的補碼

之前課本上教如何計算負數的2的補碼,是這樣講的, 對應正數的二進制表示,取反加一: 以上面的5(0101)爲例,取反後爲(1010), 再加1即得到-5的二進制(2的補碼)表示方法1011。 根據這裏的計算方法,-5 的二進

原创 按位異或交換兩個變量時的一個陷阱

假設有兩個int型變量x和y,爲了交換二者數值,我們可以藉助臨時變量,如下所示: int tmp = x; x = y; y = tmp; 利用異或操作的特性,不使用臨時變量也可以到達交換的目的,如下所示: x = x ^ y;

原创 IP地址的兩種表示方法:整數和點分十進制`

IP地址有兩種表示方法:整數和點分十進制` 從下面的例子可以看出,整數1945097072和115.239.211.112表示的是同一個地址 那麼二者之間是如何轉化的呢? 1. 整數到點分十進制1945097072的十六進制表示是73

原创 符號位擴展,數據截斷

數據類型轉換的時候,經常會進行符號位的擴展: 假設將一個整數從單字節的數據類型(char)轉換成雙字節的數據類型(short): 1. 如果該數是正數,即符號位是0,比如0x05, 多出來的8位全部填符號位0, 轉換後, 變成 0x000

原创 mini XML裏mxmlSaveString中的一個bug

原作者已確認,Bug ID: 524 http://www.msweet.org/bugs.php?L+Z3 API文檔對該函數的描述如下: /* * 'mxmlSaveString()' - Save an XML nod

原创 Source Insight上添加svn命令,打開當前文件夾命令

 SVN Log option->Custom Commands 添加一個命令 名字:SVN Log  (隨便自己寫) 運行:"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /c

原创 Windows下字符編碼轉換(ANSI Unicode UTF-8)

摘自https://github.com/JoyLeeSoft/StringConverter,感謝JoyLeeSoft的分享。 主要實現windows平臺下ANSI、Unicode、UTF-8編碼的互轉。 使用後記得釋放內存!

原创 kmp search in dynamic ring buffer--帶kmp查找的動態環形內存

代碼實現以下功能: 環形內存 內存大小按需動態調整(目前是隻增不減) 支持在內存區進行kmp查找 代碼如下: dynamic_ring_buffer.h #ifndef __RING_BUFFER__ #define __

原创 H.264 stream formats

There are two H.264 stream formats and they are sometimes called Annex BMP4 An H.264 stream is made of NALs (a unit of

原创 Linux Shell 1>/dev/null 2>&1 含義

shell中可能經常能看到:echo log > /dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出/dev/null :代表空設備文件>  :代表重定向到哪裏,例如:echo "123" > /home/123

原创 查找鏈表中間節點

問題:鏈表長度未知,如何查找中間節點 分析:鏈表中間節點受鏈表長度影響,奇數長度如abc則中間節點爲b,偶數長度如abcd則中間節點爲bc。 解決方法:使用兩個指針ptr1 = ptr2 =head,同時遍歷鏈表,ptr1步長爲1,ptr

原创 字節序、比特序(一)

1. 字節序     字節序即字節的存儲順序,如果數據都是單字節的,那怎麼存儲無所謂了,但是對於多字節數據,比如int,double等,就要考慮存儲的順序了。字節序是硬件層面的東西,通常只和你使用的處理器架構有關,而和編程語言無關。字節

原创 DDNS Wild Card

What Does a Wild Card Do? A wild card allows anything typed before your hostname to be resolved to your IP address. 

原创 udhcp的幾點總結

以下幾點基於busybox 1.23.2 中udhcp的實現, 不同客戶端、服務器實現可能會有差異。 DHCP client  ---- udhcpc : -R選項可以讓udhcpc進程退出的時候釋放ip地址。    DHCP Serv

原创 ubuntu創建samba共享文件夾

1. 安裝samba: sudo apt-get install samba 2. 進入目錄/etc/samba,備份samba配置文件 sudo cp smb.conf smb.conf_bak 3.  在smb.conf文件最後加上