long就是長整型啊,可以理解為整數啦,位數比整型多一倍。float是浮點數啊。可以理解為小數啦。首先這個:static_cast(表示式),表示強制型別轉換,並且進行靜態檢查,就是在編譯的時候檢查啦。函式引數裡面的&表示引用,就是指這個變數是可以被賦值改變的。而n是傳值的,不能改,只能用。第一句型別轉換,但不改變n本身的值,即temp=原來浮點數n的整數部分;把小數部分舍掉了。temp是long型的。第二句把long型的temp附給函式引數裡的INT;因為函式引數裡INT是float的,所以再轉一次附給INT;第三局就是原來的那個n減去整數部分,得到小數部分啦。這個函式寫的真麻煩,其實直接void intfrac(float n,long &INT,float &FRAC) //既然INT指整數,就用整型就好了{ long temp=n; //隱式轉換INT=temp; FRAC=n-INT; }
long就是長整型啊,可以理解為整數啦,位數比整型多一倍。float是浮點數啊。可以理解為小數啦。首先這個:static_cast(表示式),表示強制型別轉換,並且進行靜態檢查,就是在編譯的時候檢查啦。函式引數裡面的&表示引用,就是指這個變數是可以被賦值改變的。而n是傳值的,不能改,只能用。第一句型別轉換,但不改變n本身的值,即temp=原來浮點數n的整數部分;把小數部分舍掉了。temp是long型的。第二句把long型的temp附給函式引數裡的INT;因為函式引數裡INT是float的,所以再轉一次附給INT;第三局就是原來的那個n減去整數部分,得到小數部分啦。這個函式寫的真麻煩,其實直接void intfrac(float n,long &INT,float &FRAC) //既然INT指整數,就用整型就好了{ long temp=n; //隱式轉換INT=temp; FRAC=n-INT; }