2010年3月16日 星期二

預防戴隱形眼鏡的後遺症


我帶17歲的女兒看眼科,醫師很驚訝她在戴隱形眼鏡。

醫師說,戴隱形眼鏡只有十年壽命(我的記憶和語意不精準,大概是指隱形眼鏡會對眼睛有某種永久性傷害),儘量不要太早戴。
因很聽到這種說法,有點擔心,想請教深入一點,所以上了KingNet健康歡樂王國問了醫生。下面是答覆,供參考注意。


女兒戴軟式的已約兩年了。


江尚宜醫師回答:
任何年齡都可以配戴隱形眼鏡,但若配戴時間過久,角膜因為長期缺氧,內皮細胞數只剩一般成年人的三分之二,就容易導致後遺症。


所以囉,不能長時間戴。如果內皮細胞死三分之一,那剩下的三分之二會有多健壯呢?
另一個我想是,要定期檢查。並特別請醫師看看角膜的狀況。不過,我不清楚醫師有沒有設備可以看到內皮細胞的健康情況。

2010年3月4日 星期四

線上英漢、漢英字典…還不錯




這個網站其實放在我的最愛裏好幾年了,偶爾也會用一下,



但是前幾天才發現,在這網頁上每個看得到的英文字(當然不能是圖片的)滑鼠移過去都可以按下去查解釋,很方便。

輸入英文,就有簡單的中文翻譯,加上很多的英文解釋。英文看不懂就再連結下去…。

輸入中文,就有很多的中文翻譯。

中文出現得少,英文出現得多,正是好的學習環境…而超連結提供了便利的解釋管道,減少以英文學習英文的障礙。
注意到沒,它還會把您最近查過的字列在輸入框的下方呢…也許,可以用來作複習(溫故)吧

2010年2月19日 星期五

A Day in the Life of a Dancer

A Day in the Life of a Dancer

這是母校的一則新聞,訪問一位舞蹈系學生,以她的一天生活作介紹。

http://uanews.org/node/30208

如果我沒聽錯,她主修舞蹈,副修商學。她作了網站,把舞蹈作行銷。她說UA是少數鼓勵舞蹈學生選輔系的學校。
她的英語就是美國人平常和朋友閒聊講話的速度,非常快。有很多地方我聽不懂。
平常上課,美國老師是不會講這麼快的。
當然,她講的內容很多也超出我的經驗。她講到小時候看「胡桃鉗」,這是我聽到第三遍才想通的。

想要精進,要早點厚植基礎。像語文,就是通往各門的通道。那可要多花時間的。
在留美前,我不知覺間已聽過十多年的空中英語教室。當然包含頭幾年的經常翻字典,隨手寫幾遍生字…。有精神時盡量看一下牛津雙解字典的英文解釋和例句。

別把時間玩掉了。
生活當然要多一點體驗。但聰明的人,有體驗就好,不要沉溺了。
因為空有體驗而沒有程度和基礎,是不能培養自己的專長的。

2010年2月15日 星期一

配戴隱形眼鏡易乾澀,勿自行滴用眼藥水

眼藥學問多,專業醫師開處方,靈魂之窗有保障

隱形眼鏡族眨眼次數少,容易眼睛痠澀冒血絲,只好靠眼藥水先應急。眼藥水使用學問大,過度依賴標榜可立即讓眼球「黑白分明」的眼藥水,讓人誤以為遮去了眼白泛紅的血絲,就達到消除疲勞的效果。其實,這只是一時的假象,過量使用這類血管收縮劑產品,將有可能延誤病情,造成更大傷害。

大多數的人每天一進辦公室,坐下來便盯著電腦看,往往下班後會感到眼睛痠澀;尤其是隱形眼鏡一族,到了下午就覺得雙眼好乾,每眨一次眼,隱形眼鏡就像要掉出來般,很不舒服。台北慈濟醫院眼科彭義傑醫師表示,長期戴著隱形眼鏡,會讓眨眼次數減少,連帶影響淚液分泌,長久下來容易成為乾眼症,門診中經常有這樣症狀的人來求診,是「辦公室症候群」慣見的症狀之一。

辦公室症候群會出現的症狀,主要有眼睛乾痛、頭昏、精神不濟、肌肉痠麻等,輕重程度因人而異,其中,最常見的就屬乾眼了。乾眼症常發生在(1)長期配戴隱形眼鏡者;(2)長期使用電腦者;(3)長期在冷氣房工作者;(4)做過近視雷射患者等的身上。

彭義傑醫師指出,健康的眼睛在角膜和結膜之前,覆蓋了一層薄薄的淚液膜,每當眨眼的時候,淚液會在瞬間均勻的去溼潤角膜和結膜,使其不會乾燥;而戴上了隱形眼鏡,角膜敏感度變低,眨眼次數和淚液跟著也少了,再加上辦公室裡都會開空調,乾燥的空氣更加速了眼睛的不適。

一旦出現上述不適症狀,最基本且首要的方法是「停戴隱形眼鏡,切勿自行滴用眼藥水。」彭義傑醫師分析,因為治療用的眼藥水很多都含防腐劑,防腐劑會附著在鏡片上,日積月累易造成結膜炎或角膜缺損,且每個人的情況不一,還是趕緊前往眼科求助最實在。

有些眼藥水標榜點下去後,無論是血絲或痠澀全會快速消失,彭義傑醫師提醒道,此類眼藥水的成份主要都是血管收縮劑,確實會有暫時性的緩解,偶爾拿來急用沒關係,不過太依賴這種眼藥水反而會沒察覺眼睛的毛病,延續治療時機。

如果因工作需要不得不戴,一定要常找機會閉目休息,輕輕按摩眼眶或給予熱敷,有助於淚液分泌;使用電腦時室內光線要柔和,燈光不要直接打在螢幕上,以免反光刺眼。並且要與螢幕保持六十公分以上的距離,每工作一小時就要遠眺前方五分鐘,這些方法都可以緩解疲勞。

配戴隱形眼鏡,只要注意衛生和產品使用規則,例如工作環境的灰塵多,可使用護目鏡、日拋型要天天拿下更換,不能戴著睡覺、週拋型不要拿來當成月拋、從保養清潔液拿出隱形眼鏡後要用生理食鹽水再沖洗一下等,小小動作留意一下,就能讓靈魂之窗更舒適,常保明亮動人。

除了隱形眼鏡族有「辦公室症候群」帶來的乾眼症困擾外,我們的生活中,也有不少眼睛症狀,滿教人困擾。不用心注意而亂點眼藥水或處理不當,小問題變成大麻煩!

彭義傑醫師指出,女生都喜歡擦上睫毛膏讓雙眼變得炯炯有神,加長型睫毛膏常摻進了人造絲或尼龍纖維,不小心搓揉到,屑屑就會掉進眼睛裡;走在路上,迎面吹來一陣風,眼睛突然好痛!原來是髒空氣裡的灰塵惹的禍!這些異物卡在眼睛上,容易造成刮傷,嚴重者會有過敏性的結膜發炎,症狀包括痛、癢、畏光、流淚等,如果不注意揉了眼睛,還會變成「結膜水腫」!當下的處理方法,可以點用不含防腐劑的人工淚液來稀釋過敏源,讓髒東西流出來,還是有異物感的話就該去看醫生了。


資料來源:佛教慈濟綜合醫院

配戴隱形眼鏡,要注意什麼?

每一種隱形眼鏡都有他們的優點與缺點,沒有哪一種是最好的;除了隱形眼鏡本身之外,個人體質、眼睛狀況、配戴習慣、生活形態與工作環境,都可能影響隱形眼鏡的選擇。所以,無論哪一種隱形眼鏡,能夠適合個人的鏡片就是最好的鏡片。隱形眼鏡並非所有人都適合配戴,例如患有角膜炎、結膜炎、虹膜炎、青光眼等的人,都不適合配戴;如果眼睛的感覺特別靈敏,淚水分泌不足,或是眼皮生得緊,也是不能配戴的。所以要戴隱形眼鏡最好找專業眼科醫師確認,並與醫師好好討論。

如果長期每日配戴隱形眼鏡,或配戴的時間過長,久而久之會造成多種併發症,例如角膜血管增生等問題,嚴重可引致失明;配戴隱形眼鏡族易引起細胞壞死造成週邊細胞肥大及角膜血管增生。眼睛所產生的問題,因為不是立即性的危險,所以大多數人會不太在意!眼底視網膜神經受損是不可逆及無法挽回的,建議配戴隱形眼鏡族每年應定期進行眼科檢查


【隱形眼鏡可引致的併發症】

‧眼睛敏感、乾眼症、角膜炎

‧結膜炎、角膜損傷、角膜水腫

‧角膜潰瘍、超時戴鏡侯群症

‧巨乳頭狀結膜炎、角膜血管增生


【配戴隱形眼鏡要注意的事項】

1.配戴隱形眼鏡,初配戴時必定會有點不舒服,軟性隱形眼鏡通常在三、四日之後就能習慣,硬性隱形眼鏡則需兩至三星期,較長時間才能適應。最重要的是不能操之過急,要循序漸進,逐日增加配戴的時間。

2.當適應後,每日配戴以不超過八小時為佳

3.睡覺或游泳時必須除下。

4.鏡片的清潔衛生非常重要,要每日消毒和更換儲存鏡片的藥水。

5.每次戴上或除下鏡片前要洗淨雙手,用手指尖不是手指甲

6.小心美容用品沾污鏡片。

7.不要因方便用自來水或口水清洗鏡片。

8.眼睛不適或鏡片破裂,就不可繼續配戴,否則容易導致眼角膜受傷。

9.如有眼病或眼紅流淚都要立刻停止戴鏡。

10.定期清除鏡片上的蛋白質,否則容易患上眼皮敏感反應,令鏡片間歇模糊不清和眼痕症狀。


【隱形眼鏡的清潔要點】

A.一定要用手搓洗鏡片。

B.不同廠牌的隱形眼鏡藥水,不可交互使用。

C.每週固定去蛋白。


【不適合使用配戴隱形眼鏡的情況】

‧坐飛機的時候:
由於機艙是密閉空間,加上冷氣空調,空氣會比較乾燥,容易造成眼睛乾澀。

‧游泳時:
即使是戴了蛙鏡,但難免還是會有水不慎跑到眼睛裡,游泳池裡的細菌、消毒藥水、雜質等就可能附著在隱形眼鏡的鏡片上,而造成感染。

‧懷孕期間:
由於孕婦通常會有水腫的現象,角膜也會有水腫的問題,這時候如果戴隱形眼鏡,會因為透氧力不佳,會使角膜水腫的情形更嚴重。

趙藥師建議隱形眼鏡配帶時間越短越好(能不帶最好與眼鏡交替使用)並且定期到眼科檢查追蹤眼睛的健康情況,防止配戴隱形眼鏡造成的傷害以延緩老化速度

趙藥師並提醒眼睛也要有防曬觀念,從事戶外活動一定要準備遮陽用具及確實具有抗紫外線的太陽眼鏡防止藍光對於眼球造成的傷害,並且平時應適量攝取富含「葉黃素Lutein」與「黍黃素Zeaxanthin」的飲食

對於配戴隱形眼鏡所造成「角膜血管增生」或青光眼及糖尿病眼球內視網膜神經的嚴重受損,及眼球靜脈毛細血管的栓塞滲漏出血病變與新生血管異常增生及眼角膜的發炎腫脹,最新醫學研究發現:芸香苷(Rutoside)、硫辛酸(α-Lipoic acid)及胜肽蛋白解酶(Peptidase)搭配傳統眼疾抗氧化配方(例:葉黃素/黍黃素、硒、鋅、維生素A、C、B12、E…等)對配戴隱形眼鏡所造成「角膜血管增生」或青光眼及糖尿病視網膜神經血管病變患者平常的滋養保健是不可或缺的 。

(摘自Alternative Medicine Review...PDR Nutritional)
(資料來源:維基百科Alternative Medicine Review)


本文作者:普登藥品有限公司董事長 趙順榮藥師

戴隱形眼鏡,預防發炎,注意透氧率

(小乖乖~~下面這份資料中,「搓洗」應該是指硬式隱形眼鏡。剪貼這篇是提醒,眼睛是靈魂之窗,大意不得。病發再後悔可就來不及嘍~~。)

根據書田診所問卷調查發現,配戴隱形眼鏡者,有4成的人沒有搓洗的習慣;7成的人不知道需要定期去蛋白;7成4的人曾有過眼睛乾癢、血絲、結膜炎等感染症狀;7成7的人未經眼科醫師檢查直接至眼鏡行購買隱形眼鏡。

書田診所眼科醫師表示,許多人都會忽略隱形眼鏡除了使用專用的清潔液清洗外,還需要用手搓洗,經由搓洗,去除表面的髒污,才能預防細菌感染。

醫師指出,隱形眼鏡的透氧率與材質有關,拋棄式的隱形眼鏡跟一般軟式隱形眼鏡差不多;硬式高透氧的隱形眼鏡,其透氧率是目前一般的軟式隱形眼鏡的三倍以上

透氧率不足有何影響?醫師說,人需要呼吸氧氣才能生存,眼睛也需要氧氣,當眼睛缺氧時,除了不舒服,也會造成眼角膜缺氧水腫。長期缺氧會導致角膜新生血管的生成、角膜表皮破損,萬一引發細菌感染,甚至會導致角膜潰爛而影響視力,須藉由角膜移植才能重見光明。

此外,透過問卷發現,有7成的民眾沒有定期去蛋白的習慣,醫師提到,所謂的去蛋白是透過酵素片去除累積在鏡片上的蛋白,長期未去蛋白,會增加引發結膜炎的機率,反覆感染可能會造成嚴重傷害。目前的研究顯示,硬式高透氧的隱形眼鏡蛋白吸附量較一般的軟式隱形眼鏡低。

當發現眼睛感覺乾癢、有血絲時該怎麼辦?廖昶斌說,7成4的人曾經在配戴隱形眼鏡時出現不適感,建議立即停戴隱形眼鏡,並尋找眼科醫師診治,康復後再戴隱形眼鏡,並且徹底清潔隱形眼鏡或送至廠商消毒,避免二次感染。

最後,醫師提醒,許多人會直接至眼鏡行購買隱形眼鏡,但其實眼睛的度數是會變動的,最好是經眼科專科醫師診斷後,持處方箋購買;避免購買來路不明或未經許可的隱形眼鏡;隱形眼鏡無論是否經常使用,還是應依期限作更換;使用專用的清潔液清潔並用手搓洗,並定期作去蛋白;配戴時間不要過長(軟式不超過8小時,硬式不要戴著睡覺),也不要戴著隱形眼鏡睡覺,避免對角膜造成慢性傷害。正確的使用隱形眼鏡,才能方便又確保眼睛的健康。


資料來源:書田診所

2009年12月28日 星期一

奇妙的費氏數列和C++的解法

小傢伙要我看看費氏數列的C++程式怎麼寫…
我想她只是丟個事給我這無聊老頭作作,免得我老人吃呆了,她要提早退休照顧我…哈哈
(就跟丟一根骨頭給一隻老狗玩玩,隨意打發一下…)
為什麼我這麼說呢,因為很多C的書都有這類範例,只要肯上圖書館,甚至肯在Google 上用對了關鍵字去「咕狗」一下,一定可以找到不同解法…
所以,她問我這題一定只是隨便應付我一下而已…我想…
另外一個可能是,她創造力太豐富,不想看別人的解法,想自己兜兜看…

好了,先「咕狗」一下「費氏數列」,在有水準(所以比較可靠)的維基百科上看到定義,以及說明,雖是只是大略的瞄了一下,不禁肅然起敬,真是簡潔完美…各位可以參考如下 維基百科中文-費氏數列 英文的更棒,還有螺旋圖呢
  • F0 = 0
  • F1 = 1
  • Fn = Fn - 1 + Fn - 2

由上三式簡單關係,可知若要以迴圈來解,應該是先把第零、第一項先寫好,再用第三式來寫迴圈。因為,每次迴圈都需要前兩項,所以,第一個迴圈必須由F2開始。迴圈無法處理n=0,或n=1的狀況,它們要由特例來處理。

下面是第一個嘗試,前面的#include省略不列,主要試的是咖啡色的判斷結構,看能不能正確的把第0,第1項和其餘的分開。

int main()

{

int n,f;

printf("Input n to find fab# :");

scanf("%d",&n);

if (n==0){ f=0; }

else if (n==1){ f=1; }

else {f=999;}

printf("Fibonacci #= %d \n",f);

system("PAUSE");

return EXIT_SUCCESS;

}



下面這程式就在「其餘的」部份,架起迴圈。(我把頭、尾省掉了)

int n, f, f_2, f_1, i;

/* f=費氏數 Fn ,

f_1=費氏數之前一項 Fn-1 ,

f_2=費氏數之前2 Fn-2 ,*/

printf("Input n to find fab# :");

scanf("%d",&n);

f_2=0; f_1=1;

if (n==0){ f=f_2; }

else if (n==1){ f=f_1; }

else {

for (i=2;i<=n;i++){

f=f_2+f_1;

f_2=f_1;

f_1=f;

}

}

printf("Fibonacci #= %d \n",f);



在課本中,有一累似的解法,它寫成函式,將來更好叫用。不過,n=0時,答案可能不一樣?

#include

#include

int f(int); //計算費氏數列

int main(void)

{

int n;

printf("Input n:");

scanf("%d",&n);

printf("f(%d) = %d\n",n,f(n));

system("pause"); //使程式暫停在執行畫面讓我們看到結果

}

int f(int n)

{

int i,sum,pre,fi;

pre = 0;

fi = 1;

for(i=1;i

sum = pre + fi; //加出下一項

pre = fi; //紀錄前一項

fi = sum; //i

}

return fi;

}

2009年12月26日 星期六

關於C++中的 Void

(1)
void放在函數前面,表示這個函數沒有傳回值。
如 void push(char dey)沒有特別指定返回值型態時,則是預設為int。
例如 push(char dey) 等效於 int push(char dey)。

When used as a function return type, the void keyword specifies that the function does not return a value.

(2)
void放在參數列,則表示這個函數沒有輸入的參數。
例如 char pop(void),它等效於 char pop()。

When used for a function's parameter list, void specifies that the function takes no parameters.

(3)
When used in the declaration of a pointer, void specifies that the pointer is "universal."
If a pointer's type is void *, the pointer can point to any variable that is not declared with the const or volatile keyword.
A void pointer cannot be dereferenced unless it is cast to another type.
A void pointer can be converted into any other type of data pointer.
A void pointer can point to a function, but not to a class member in C++.

關於system("PAUSE")和return EXIT_SUCCESS的意思

(1)

小傢伙問,寫 return EXIT_SUCCESS 和 寫 return 0 有沒有差別 ?

我上google 用 return EXIT_SUCCESS 查了一下(詳下面綠字),它和return 0 同義。因為在header檔中,有定義EXIT_SUCCESS =0,所以它是值為0的常數。

在文字(非視窗)中跑C最後要向系統說,我跑完了。這就是return EXIT_SUCCESS的用意,傳給系統一個值。

EXIT_SUCCESS 肯定是被宏定义了. 可以找一下头文件中的定义. 应该是有下面的语句的: #define EXIT_SUCCESS 0

(2)

在google 打入 system("PAUSE");得到如下面綠字的解答。它是向作業系統發一個指令PAUSE,意思是等使用者敲一個鍵才會繼續。一般程式執行到完就直接結束文字視窗,所以操作者會來不及觀察文字視窗的資料,為了有個停頓,等操作者「看夠了」,才按一個鍵來結束視窗,就要用PAUSE這個命令。PAUSE不是C的指令,是作業系統的命令,所以要靠C語言提供的system()這個函式來叫用它。

system就是從程序中調用系统命令(和shell命令)。 system("pause")就是從程序中調用“pause”命令; 而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any key to exit”的字,等待用户按一个键,然后返回。

(3)結論:  >> 有什麼問題時,學著有系統的去找答案。還有,要投時間和心進去。

用C語言寫一個n*n乘法表。

小傢伙不會用C寫 N*N的乘法表程式。而我呢,一輩子從沒真正寫過一個C程式。但是下學期我要教C;之前K過一些,最近也看了一點。於是下午把Dev C++裝起來,開始試這個程式。
對寫過其它程式的我來說,雙迴圈不是很難的,但是C的語法不熟,所以根據經驗,要一點一點試。

以下把試的過程大致的展示出來,想告訴學程式的朋友,如何一次試一點,慢慢把它搞懂。
可以把下面的程式,一個個複製到程式裏,自己試試。

先讓程式的結果「可以看見」,所以先試printf。

第一個程式只是試輸出指令 printf及迴圈for,其實裏面有一個小錯,編譯看看就知道。剛學語言,規則多,不好記,很容易錯。所以,程式愈小愈好。其實這第一個程式就出了好幾次錯誤,才一步步改成下面的樣子。頭尾是抄書上第一個例子。中間咖啡色的才是我試的部份。

#include

#include

int main(void)

{

int MAX

for(i=1;i<=MAX;i++)

printf("Index i = d% \n",i);

system("PAUSE");

return EXIT_SUCCESS;

}




第二次我是試加入由鍵盤輸入數值的指令,也是犯了好幾次錯才修成這樣。

int main(void)

{

int MAX, i ;

printf("key in the matrix size 1<= MAX <=9 : \n");

scanf("%d",&MAX);

printf("MAX = %d i= %d \n\n",MAX,i);

for(i=1;i<=MAX;i++)

printf("Index i = %d \n",i);

system("PAUSE");

return EXIT_SUCCESS;

}



第三次只是為了把for迴圈本體改成大括弧以便裝內迴圈,也是曾犯了忘記加;的錯。

int main(void)

{

int MAX, i ;

printf("key in the matrix size 1<= MAX <=9 : \n");

scanf("%d",&MAX);

printf("MAX = %d i= %d \n\n",MAX,i);

for(i=1;i<=MAX;i++)

{

printf("Index i = %d \n",i);

}

system("PAUSE");

return EXIT_SUCCESS;

}




第四次加個內迴圈,再測…有錯,因忘了宣告 j

int main(void)

{

int MAX, i ;

printf("key in the matrix size 1<= MAX <=9 : \n");

scanf("%d",&MAX);

printf("MAX = %d i= %d \n\n",MAX,i);

for(i=1;i<=MAX;i++)

{

for(j=1;j<=MAX;j++)

{

printf("Index i = %d , j= %d \n",i,j);

}

}

system("PAUSE");

return EXIT_SUCCESS;

}




第五次加了宣告,OK, 第六次加印乘積,且每完成一內迴圈加印一行空白,讓結果好看些…

int main(void)

{

int MAX, i ,j;

printf("key in the matrix size 1<= MAX <=9 : \n");

scanf("%d",&MAX);

printf("MAX = %d i= %d \n\n",MAX,i);

for(i=1;i<=MAX;i++)

{

for(j=1;j<=MAX;j++)

{

printf("%d*%d=%d \n",i,j,i*j);

}

printf("\n");

}

system("PAUSE");

return EXIT_SUCCESS;

}



第七次,試著把乘積排整齊些,讓乘積的個位數對齊…

int main(void)

{

int MAX, i ,j;

printf("key in the matrix size 1<= MAX <=9 : \n");

scanf("%d",&MAX);

printf("MAX = %d i= %d \n\n",MAX,i);

for(i=1;i<=MAX;i++)

{

for(j=1;j<=MAX;j++)

{

printf("%2d*%2d=%3d \n",i,j,i*j);

}

printf("\n");

}

system("PAUSE");

return EXIT_SUCCESS;

}



第八次,也是調印出的排版,讓表格可以在螢幕寬度內印完,並且和上端的鍵入值隔開些…。
算是大功告成了。
都是一些小錯誤,慢慢一個一個累積經驗,把它掌握。
一次搞清楚一小點,持之以恒的,把它理清就是你的了。

int main(void)

{

int MAX, i ,j;

printf("key in the matrix size 1<= MAX <=9 : \n");

scanf("%d",&MAX);

printf("\n\n\n");

for(i=1;i<=MAX;i++)

{

for(j=1;j<=MAX;j++)

{

printf("%d*%d=%2d ",i,j,i*j);

}

printf("\n");

}

system("PAUSE");

return EXIT_SUCCESS;

}

2009年11月8日 星期日

十進位含小數轉二進位的方法

這裏有個網址,把「小數部份的轉二進位程序」例舉得很清楚。

http://www.gamez.com.tw/thread-379810-1-1.html

基本上,和十進位同樣理,在小數點之前(整數)其權重值分別為22,21,20,(亦即4,2,1),而在小數點之後其權重值分別為2-1,2-2,2-3, (亦即1/2,1/4,1/8)。整個來說,一個包含三位整數及三位小數的二進位值其各位數字之權重值如下

22,21,20,2-1,2-2,2-3

在上面這個網址所附的範例,每乘一次2,就是把整個二進位值往左移位一次。那麼,小數值每乘一次2後,從小數點左邊冒出的,就是剛才位在小數點右邊的那一個二進位值。雖然我們是用十進值來乘,但乘完後的值是相同的,所以,每次乘完後,冒在左邊的不是0就是1。(當然,每次乘時,要把先前的整數部份拿掉,只乘小數部份,才會如此)。你可以在紙上用二進值來試試,一目了然。

為了怕以後網址有變,我把上面網址的內容貼在後面

0.875
× 2
 ̄ ̄ ̄ ̄
1.750 → 取小數前的 1 →①

0.750 ← 前一計算的乘積只取小數部份
× 2
 ̄ ̄ ̄ ̄
1.500 → 取小數前的 1 → ②

0.500 ← 前一計算的乘積只取小數部份
× 2
 ̄ ̄ ̄ ̄
1.000 → 取小數前的 1 → ③

依①②③的順序,十進位 0.875 為二進位 0.111

其他情況給你參考
0.300
× 2
 ̄ ̄ ̄ ̄
0.600 → 取小數前的 0 → ①
0.600
× 2
 ̄ ̄ ̄ ̄
1.200 → 取小數前的 1 → ②
0.200
× 2
 ̄ ̄ ̄ ̄
0.400 → 取小數前的 0 → ③
0.400
× 2
 ̄ ̄ ̄ ̄
0.800 → 取小數前的 0 → ④
0.800
× 2
 ̄ ̄ ̄ ̄
1.600 → 取小數前的 1 → ⑤ → 從這裡可以發現又回到①的情況

因此 十進位的 0.3 是乘不進二進位的,會變成 0.010011001循環浮點數

2009年7月25日 星期六

我的第一部錄音機…哦,不是,是錄字機

削品鍋(小蘋果),還好嗎?
反正寄電子郵件您也不回的,
信件又難歸類,
乾脆用網誌來記錄我的「婆婆媽媽」和「碎碎唸」,
那天您想起來了,也許還可以到這兒翻翻找找,
比在郵件中找,好多了,

姑姑馬來西亞的朋友八月中要來台,偶爾可能有一兩天住我們家,
想問問妳,妳的房間我們可以幫您清一下嗎?
這要經妳同意才行,
姑姑昨天要打電話給妳,妳沒接。