Category Archives: Brainstorming

add/sub without +, –

同事問到的一題,不用加減法來計算加減法,當然是使用bit operation來操作,這題的想法主要是處理進位問題。 這邊只用recursive來處理,將進位的結果再加回去。 但須注意recursive可能的深度,避免function call stack overflow。(但以32bit整數加法來說 最多呼叫32次)。 事實上此處的recursive是在最尾端(tail recursive),所以在有處理tail call elimination的語言或是compiler有處理tail call optimization則不需擔心深度問題

Posted in Brainstorming | Leave a comment