プロが教える店舗&オフィスのセキュリティ対策術

256bitを95種類(ASCII印刷可能文字)で表現すると
39桁

同 512bitだと
78桁

とすると4096bitだとふつうに
39*(4096/256)

624桁
で合ってますか?
http://www.ttmath.org/online_calculator
で貼り付けてcalculateクリックしただけですが。

さっき別質問で
http://ideone.com/ODTXZ
を教えてもらって
256のとこを512にするまではできたのですが
https://ideone.com/W3SNX
1024以上はエラーみたいになってしまったので
また質問しました。

A 回答 (1件)

はい、そう思います。



#何かideone.comのサーバ負荷が高いみたいなんで辛いけど。


# doubleにも1.7 * 10^308くらいに上限があるからね。> 1024でこける
http://msdn.microsoft.com/en-us/library/system.d …

#質問者さんが39*(4096/256)と言うように、
例えば、Math.Log(Math.Pow(2,10))って10 * Math.Log(2)なんで
最初からそういう計算にしたほうがいいが、面倒くさかった。
誤差が範囲内に収まるなら39で割りきってもいいと思うけど、大丈夫か俺は自信持てなかった。

#今回の場合は問題ないか。別パターンで計算ミスった、と思ったことがあったんで。
0,1の2文字で2を表現するのに必要なバイト数は2だと思うんですが
System.Math.Ceiling(System.Math.Log(2,2))は1になってしまうと思います。
    • good
    • 0
この回答へのお礼

またまたありがとうございます!!!

・・・仰っていることは3行目からもうほとんど分かりませんが
ありがとうございました!!

・・・昔256bitの95進数化はVBで書いたことあったんですが
ほぼ完全に全て忘れました・・・
唯一覚えてるのはBigIntegerなかったら作れなかったな自分の
能力では、ギリギリセーフだった・・・
(無謀な行いで失敗寸前だった・・・)
ということだけです・・・

お礼日時:2011/02/05 08:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!