この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
172. implement `Math.clz32()`
以下が実装例です。
function clz32(num) { // 32-bit integerの範囲内に収まるように調整 num = num >>> 0; // numが0の場合は32を返す if (num === 0) return 32; let count = 0; // numを左にシフトさせ、先頭の0の個数を数える while ((num & 0x80000000) === 0) { num <<= 1; count++; } return count;}
この関数は、与えられた数値が32ビット整数であることを前提としているため、与えられた引数を32-bit整数に変換し、最初に0の個数を数えるために32を返す場合を除いて、与えられた数値を左にシフトし、先頭の0の個数を数えています。