2009-05-14 6 views

答えて

6

0xF == 15を選ぶているように見えます

function() 
{ 
    var g = ""; 
    for(var i = 0; i < 32; i++) 
     g += Math.floor(Math.random() * 0xF).toString(0xF) 
    return g; 
} 
+0

私はそれが16進数であることを知っていますが、私はそれがASCII規格に従って変換されていることを認識していませんでした。私はそれが0xFFの省略形だと思った。 – RibaldEddie

+2

ASCIIはそれとは関係ありません。 0xFは15、0xFFは255、0xFFFは4095です。10進数と同様に、16進数の未定義桁のデフォルトは0です。 –

+0

そうです。ありがとう。 – RibaldEddie

1

0xFのは

EDIT 16進表記です。

しかし、このスニペットは実際にGUIDを作成しているわけではありません。ランダムな整数をまとめてストリングするだけです。 JavaScriptを生成するには、VMがアクセスできないパラメータ(ネットワークアドレスなど)が必要なため、JavaScriptでGUIDを作成することはできません。それはやっているすべては、乱数Sを作成し、進に変換されHow to create a GUID in Javascript?

1


は、この質問に対する私の答えも参照してください。

私はちょっと調べました。 。 。それは乱数をとり、それを15倍(0xF == 15)してからそれを16進数に変換しています。 。 。 toString引数は基数をとります。これは0xF.toString(10)と同じです。 0xFを10進数に変換して "15"を返します。

関連する問題