2
A
回答
2
這工作:
2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + 2.2 + (0 << 1)
開玩笑不談,你不能因爲你不能在C++/C轉向浮動。那麼,你可以(通過討厭的類型雙關),但然後你進入未定義的行爲。
另外,這樣做沒有意義。如果您正在進行乘法運算,那麼只需使用*
。編譯器會將其轉換爲最有效的形式。
1
如果我理解您的問題在所有,
2.2 = 2 + 2/10
因此,2.2 * 10 = 2×10 + 2 */10 = 2×10 + 2 = 22 。
你可以用shift和subtractions做分割。
1
在現代CPU上,浮點數以「IEEE 754」格式表示。
在IEEE 754浮點算術的核心是移位和整數運算。如果你是病人,你可以寫一個天真的實現IEEE 754 ALU的C.你可能會發現這個線程有趣:如果你正在使用雙
相關問題
- 1. 添加零的浮點數
- 2. 添加後舍入浮點數(保護位,粘性位和圓位)
- 3. Verilog代碼移位和添加乘數
- 4. 增加浮點數的有效位數
- 5. 將最小可能浮點數添加到浮點數
- 6. 添加到PHP中的浮點整數輪浮子1位小數
- 7. 點後3位浮點數
- 8. 16位MUL裝配
- 9. Round Sympy Mul單位
- 10. 小數位數浮點數
- 11. 如何將4位浮點數轉換爲2位浮點數
- 12. 在eax/ecx寄存器中添加32位浮點數?
- 13. 整數乘以10浮點數
- 14. 將浮點列表限制爲10位數
- 15. Delphi 64位NaN和無效浮點數
- 16. HTML:浮點數:左和相對位置
- 17. 80位浮點和次正規數
- 18. 添加浮點數,這是爲什麼?
- 19. 添加單維浮點數組值
- 20. 添加浮點數:左中斷列表
- 21. 如何將0添加到浮點數?
- 22. 添加一個浮點數組
- 23. 添加16位浮點數和如何將其轉換回十進制
- 24. 小數位浮點數和小數點的位置問題。小數點
- 25. 裝配 - 移動浮點數
- 26. 如何使用javascript添加整數和浮點數?
- 27. x86程序集添加和移位
- 28. 添加逗號作爲千位分隔符和浮點點在PHP
- 29. 將小數位數多的浮點數轉換爲浮點數只有一個小數位的浮點數
- 30. 24位浮點指數
或浮動,因爲我認爲,你可以簡單地說。浮點數的二進制表示是一個標準的噩夢。如果你可以處理定點數字,那很簡單。 – 2012-03-08 04:36:22
有點相關:http://stackoverflow.com/questions/7720668/fast-multiplication-division-by-2-for-floats-and-doubles-cc – Mysticial 2012-03-08 04:50:28
@BLUEPIXY:'(x << 3)+(x < <2)'是'x * 12',而不是'x * 012'。 – 2012-03-08 08:43:53