索馬里文翻譯

問題以下:
法式語言 - C++

在數學上 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 這個浮點數

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

在 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,.....(固然這不是我那位同窗想要的)


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

問題到底呈現在那邊呢?

由於太耐冇接觸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,......

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

修改後的程式碼:

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

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

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

說碰到一件很奇異的事,久久找不到問題所在。

憑據這個鉄則,剛剛那個問題就完全明白了!

就如許思慮了15分鐘…
這樣的問題也要想這麼夠,看來天成翻譯公司還是一隻菜島呢…



來自: 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
    文章標籤
    翻譯社
    全站熱搜

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