我有一個代碼:如何將短浮點類型轉換爲短類型並在短類型溢出時截斷浮點類型?
if (Ly0 > 32767) {
buffer[index] = 32767;
} else if (Ly0 < -32768) {
buffer[index] = -32768;
} else {
buffer[index] = (short) Ly0;
}
buffer
是短型。Ly0
是浮點型。
我需要投浮子短,如果超過短最大值短浮子的整數部分應該是等於短最大值,並且如果浮子小於短最小值短應的整數部分等於短最小值,在其他情況下,我需要將float轉換爲short並獲取float的整數值。
換句話說我需要從float轉換爲短和截斷浮子如果它拉出的短範圍。
的問題是,這種做法是不enouth快,的Durty。
是任何更快,乾淨的方法,以浮動轉換爲短。
我想你錯過了第二個分支的減號。 – kennytm
只需更改代碼的那一部分,您永遠不會足夠快。你需要顯示整個循環,因爲這是緩慢的,而不是上面的代碼。 –