js.golf.tips[1]
ビット演算系のイディオム。ゴルフ以外でも有用?
Math.floor(i) → i|0 // iはint32の範囲内。(10) if(i!=-1) → if(~i) // ~-1 === 0 を利用。(3) (i+1)/2 → -~i/2 (i-1)/2 → ~-i/2 // 優先順位を変えて括弧を外す。 (2) +('0x'+h) → '0x'+h|0 // 16進文字列を数値にする場合。上と同様括弧が外せる。 (1)
ビット演算系のイディオム。ゴルフ以外でも有用?
Math.floor(i) → i|0 // iはint32の範囲内。(10) if(i!=-1) → if(~i) // ~-1 === 0 を利用。(3) (i+1)/2 → -~i/2 (i-1)/2 → ~-i/2 // 優先順位を変えて括弧を外す。 (2) +('0x'+h) → '0x'+h|0 // 16進文字列を数値にする場合。上と同様括弧が外せる。 (1)