2016年9月28日 星期三

「C#」NaN

NaN(Not a Number) 的意思為不是一個數字,

一開始我也覺得奇怪,為什麼運算過程中會出現NaN。

後來才發現在以下情況會出現NaN


(1) Math.Squrt(負數),例如Math.Sqrt(-1)


(2)Math.Pow(負數,0.5) ,例如Math.Pow(-1,0.5)


以下是一段範例程式,展示會產生出NaN的2種情況。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            double s=Math.Sqrt(-1);
            Console.WriteLine(s);
            
            double q=Math.Pow(-1,0.5);
            Console.WriteLine(q);
        }
    }
}


尤其要注意一件事,一個正常的數與NaN做計算時,亦會得到NaN

下面程式範例為1個NaN+10的情況,依然是NaN。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            double s=Math.Sqrt(-1);
            Console.WriteLine(s);
          
            double plus=s+10;
            Console.WriteLine(s);
        }
    }
}


「名詞定義」白平衡

紀錄一下之前去上攝影課程,老師對白平衡的說明


白平衝就是告訴相機,在這個環境下,什麼是白色。



相機有自訂白平衡的功能,最簡單的方式是,開啟自訂白平衡,


然候在現場找一個白色的紙、盤子之類的,設定給相機,


這樣即使是在黃黃的燈光下,依然可以拍出白白的盤子,

而不會是黃黃的。

[分享]台灣大寬頻cable modem固定IP

小弟是台灣大寬頻 4M/384K的用戶(cable modem),最近想要自己弄個站,

拿到一組免費一年的domain,所以想要有個固定IP,

問了一下台灣大寬頻客服,他的作法比較特別,是要求你綁住一個MAC Address

也就是你把你的裝置上網後,他遠端看的到Mac Address綁住,只要是這個裝置

上網就會配到固定IP,不過因為我cable modem只有一個孔,所以我選擇讓它綁

在我的IP分享器上面,至於要怎麼轉,就是我自己設定就可以了,當然你也可以

要求他綁在PC,但因為只有一個孔,這個Mac Address之後是可以變更的,不收費,

改變後只要重新開機,就會生效。