二的補數來表現負數

這是一個二進位的小問題. 在電腦的世界裡, 使用二進位表示法來存放數字是再單純不過的. 不過數字為能有更佳的效率, 有一些設計是很重要的, 例如用二的補數來表示負數, 以下為一個例子.

假設用一個 byte 來代表數字的話, 則共有8個bit可用, 最高字元保留給符號, 而數字就用二進位法來放, 所以8個bit表示如下:

7-6-5-4-3-2-1-0

其中第0個bit最右側, 也就是最低位元, 最左邊是第7個bit, 也就是最高位元.

接下來要說明數字囉

00000001 (b)=1(d)

00000010(b)=2(d)

00000100(b)=4(d)

00010101(b)=21(d)

…. 以此類推, 而最大正數可以用這個表示, 除了第7個bit不動, 其餘都是1的話:

01111111(b)=127(d)

好, 接下來看負數怎麼表示. 先來看所謂二的補數, 二的補數(two’s complement)就是將位元反置後再加一, 來看一個例子:

25(d)=00011001(b)

而要代表-25的二進位數, 則用 00011001(b)反置後再加一

1. 反置 11100110

2. 再加1 得 11100111,

3. 所以得 11100111(b)=-25(d)

再舉一個例子, 2(d)=00000010(b),

1. 反置 11111101,

2. 再加1得 11111110,

3. 所以得11111110(b)=-2(d)

接下來看如何反過來做, 若今天有個值是 110001010(b) 怎麼算回來呢?

1. 先減1, 110001001

2. 再反置得 001110110

3. 所以得 001110110(b)=118(d)

4. 所以 110001010(b)=-118(d)

這樣就行囉!

所以 8個bit的範圍最小到最大就是 -128~127共256個數字.

參考資料:

http://blog.udn.com/Piner/3033066

http://squall.cs.ntou.edu.tw/cprog/Materials/TwosComplementFormat.html

wordpress中好看的字型

在 wordpress 中, 預設的字型(英數)是 Georgia, 這個字型還蠻好看的, 所以在 wordpress 內寫英文字句都令人很賞心閱目, 而今天又發現另一個字型也有這樣的特性, 是 Constantia. 這兩種字型的特性, 就是英數時, 會高高低低的, 有一種硬硬的打字機的感覺. 這樣將在 word 中使用該兩種字體的圖擷下來供參考:

good-font

post revision功能真是不錯

原來在版本 2.6 時已經有了一個很特別的新功能, 稱之前 post revisions, 也就是文章版本管理(控制), 這個功能還蠻強大好用的, 一方面像是時光還原器, 一方面還能做版本比對, 的確是對於寫長篇大論的文章有非常方便之處, 而且其實有時若是沒有存到檔, 配合的 auto save 功能也能發揮作用, 讓損失降到最低.

預設功能在發表文章頁面上, 有個”文章版本”, 這個區塊, 如下:

post-revisions

點擊進去後, 就可以看到一個很友善的版本選擇及管理功能, 如下:

post-revisions2

然後可以挑選要比較的版本, 並按下[比較不同版本]後, 就可以列出兩個比較, 如下:

post-revisions3

如此一來, 便能一目了然, 方便文章的撰寫, (真的是在寫文章編輯的好工具), 這樣的計設, 功能真的很強大.

當然, 有這個功能, 也會需要一些空間來存放, 若是覺得會浪費空間或是要刪除這個備份, 當然也有可以取消地方, 可以參考: http://blog.dogg3h.com/how-to-disable-wordpress-post-revision

原來我現在才發現這個功能, 真的 lag 很久耶.

安裝了Akismet的AntiSpam功能

因為太多垃圾留言(雖然不會在前台顯示, 不過還是要去標示他為垃圾), 所以打算用強一點的方式來管理, 這個 Akismet 的 antispam 功能還蠻強大的, 主要是在寫入時, 就直接處理, 若判定是 spam 就會被阻擋掉, 很自動的功能, 遠比自行標示為已經進來的垃圾留言為垃圾還方便.

在用 wordpress 的人, 一定要用的好物. Akismet antispam: http://akismet.com/

wordpress plugin: http://akismet.com/download/

更新2.8.2

升上了2.7之後, 就有後台自動更新的功能, 不需要手動下載, 然後上傳等煩瑣的步驟來進行更新. 利用後台的自動更新, 將版本昇到 2.8.2 了, 並附上成功更新的畫面, 基本上, 真的是太人性化的設計了耶.

autoupdate282

不過其實更新前一樣都要先做好備份網站程式及資料庫的工作, 才不會發生問題時, 沒得補救哦.