暇だから更新できる

ゲームやらないと時間にかなり余裕ができます。

要するに暇

C++もはかどる捗る・・はかどらなかった。

今日のつまづいたところはこれ↓

#include <iostream>
using namespace std;

union bits {
bits(double n);
void show_bits();
double d;
unsigned char c[sizeof(double)];
};

bits::bits(double n)
{
d = n;
}

void bits::show_bits()
{
int i, j;

for(j = sizeof(double)-1; j>=0; j--) {
cout << "バイト単位のビットパターン " << j << ": ";
for(i = 128; i; i >>= 1)
if(i & c[j]) cout << "1";
else cout << "0";
cout << "n";
}
}

int main()
{
bits ob(1991.829);
ob.show_bits();
return 0;
}

(独習C++第3版の例2.5.2引用)
結果が

バイト単位のビットパターン 7: 01000000
バイト単位のビットパターン 6: 10011111
バイト単位のビットパターン 5: 00011111
バイト単位のビットパターン 4: 01010000
バイト単位のビットパターン 3: 11100101
バイト単位のビットパターン 2: 01100000
バイト単位のビットパターン 1: 01000001
バイト単位のビットパターン 0: 10001001

共用体からわからなかったから理解するのにかなりかかりました。
要するに倍精度浮動小数点数の値を共用体をつかってバイト単位のchar型に分割して、その中身の0と1を表示しようって言うことでした!

C++やってる間にCの勉強もすんじゃいそうだ(当たり前か)
つぎはC#ってのもあるんだよな・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です