2009/01/31

Googleがばぐった。

本日、ついにGoogleが末期のようです。

20090201000540

20090131235741

カウンター製作日記 #1

今回は、このブログにカウンターをつけよう、ということらしい。
検索中・・・「よさげなカウンター」・・・・・・・・・・・検索結果:当該件数0件
と、いうことで、カウンターを作ってみることにした。

まず、どんなカウンターを作るのか?
現在考えているものとしては、PHPでいろいろな処理して、Flexで表示をするというもの。

ただね、例のサーバーのPHPがしょぼいからいろいろ大変です・・・。

2009/01/21

浮動小数点の指数部

どもども。今回はプログラムねたです。

C#での浮動小数点型であるdoubleから指数部を取り出す企画です。
まず、doubleの定義から。doubleは64bitで表す倍精度浮動小数。
今回は、一般的なIEEEで定められているIEEE754の場合。(ほかの場合は聞いたことがないが)

|符号部 S|指数部 E|小数部 F|
|  1bit      |  11bit      | 52bit     |

で表す。実際の値は、
equation 
こんな感じになる。

さて、いよいよC#で指数部を取り出す方法だが、値をビット演算したいのでdoubleのままじゃ困る。そんなとき。これを使えばいい。

BitConverter.DoubleToInt64Bits メソッド
http://msdn.microsoft.com/ja-jp/library/system.bitconverter.doubletoint64bits.aspx

ってなわけで、指数部を取り出すプログラム。メソッドにしてみた。

public int doubleExponate(double value){
//doubleをlongに
long bits = BitConverter.DoubleToInt64Bits(value);
//指数部を取り出す
long exponate = (bits >> 52) & 0x7ff;
//-1023
exponate -= 1023;
return (int)exponate;
}



こんな感じ。



ちなみにこれやってて初めて気づいたんだが、

equation (1)


となるらしい、Eって常用対数なのね、自然対数だとばかり思っていた。



今日はこんな感じで、でわでわ。

2009/01/16

滑ってきました。

1/10~1/12にスノーボードしに雪山ってきました。

スキー場は、白馬コロチナ国際スキー場というところです。

3日間行ってきたのですが、1日目、雪、2日目、晴れ、3日目、雪とかなり恵まれたコンディションでした。

ということで、2日目に頂上で撮った景色をあげときます。

Image001

ではでは。

2009/01/01

謹賀新年

年が明けました。

今年もどうぞよろしくお願いします。