close

中英翻譯

這真的是基本中的基本哦!

就這樣思慮了15分鐘…
如許的問題也要想這麼夠,看來我仍是一隻菜島呢…

問題到底呈現在那邊呢?

由於太耐冇接觸C++,倏忽被問到,一時間也亳無頭緒…(有關係嗎?)
還傻傻的思慮著,是否 int(a[i] * 32) 出了問題。
但這簡單一行,真的會有問題嗎?

double a = {0/8翻譯社 1/8, 2/8翻譯社 3/8翻譯社 4/8, .......} (由0到79, 每一個數除8)
double b[80];


憑據這個鉄則,方才阿誰問題就完全懂得了!

要做到那位同窗想要的結果,其實十分簡單,只要告知程式,那些數字是浮點數就可以了!

for (int i =0; i < 80; i++)
{
    b[i] = int(a[i] * 32);
}

預期了局應該 0,4,8翻譯社16翻譯社24,32.....
但實際倒是    0,0,0,0翻譯社0,0,0,0翻譯社32,32,32,......

說碰到一件很神奇的事,久久找不到問題地點。

問題以下:
法式說話 - C++

前幾日有一名良久沒見既同窗在MSN Messager向天成翻譯公司求救翻譯

在 double a = {0/8, 1/8翻譯社 2/8, 3/8, 4/8翻譯社 .......} 這行程式碼中天成翻譯公司們可以看到 {} 中所有的數字,其實都是整數!
1 / 8 = 0, 2 / 8 = 0, ... 8/ 8 = 1, 9/ 8 = 1
現實上 double a = {0翻譯社0,0,0,0翻譯社0,0翻譯社0,1翻譯社1,1,....}
將所有數乘32,那固然就是0,0,0,0翻譯社0,0,0,0翻譯社32,32翻譯社32,.....(固然這不是我那位同窗想要的)

double a = {(double)0/8, (double)1/8翻譯社 (double)2/8, (double)3/8, (double)4/8, .......}
double b[80];

點竄後的程式碼:

for (int i =0; i < 80; i++)
{
    b[i] = int(a[i] * 32);
}

合法我萬念俱灰,差點就墮入自責地獄之時,我終於想起來了!
又是誰人可惡的除法運算子!!

在數學上 5 / 2 = 2.5, 2.5 / 2 = 1.25,這是對 / 的了解.

可是在寫程式的時刻,整數的/就回傳整數,浮點數的/就回傳浮點數。
例如:
int a = 5;
int b = 2;
a / b 就會回傳 2 這個整數~

double a = 5.0;
double b = 2.0;
a / b 則會回傳 2.5 這個浮點數



本文引用自: http://blog.xuite.net/lsmtom/lsmtom/21919227-C%2B%2B+%E9%99%A4%E6%B3%95%E9%81%8B%E7%AE%97%E5%AD%90%E有關各國語文翻譯公證的問題歡迎諮詢天成翻譯公司02-77260931

arrow
arrow
    文章標籤
    翻譯社
    全站熱搜

    annievd8f52c 發表在 痞客邦 留言(0) 人氣()