2009年6月24日水曜日

ビット単位でアクセス

C言語でビット単位で変数を操作する方法を考えてみました。マイコンのレジスタを操作するときに使うことを想定しています。

下のプログラムは、コマンドライン引数で指定した数字を2進数と16進数で表示するものです。

#include <stdio.h>
#include <string.h>

typedef union BitAccess {
unsigned int byte : 8;
struct {
unsigned int bit0 : 1;
unsigned int bit1 : 1;
unsigned int bit2 : 1;
unsigned int bit3 : 1;
unsigned int bit4 : 1;
unsigned int bit5 : 1;
unsigned int bit6 : 1;
unsigned int bit7 : 1;
};
} BitAccess;

void printBinary(int number) {
BitAccess port = { number };

puts("+------+---+---+---+---+---+---+---+---+");
puts("| No. | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |");
puts("+------+---+---+---+---+---+---+---+---+");
printf("| Bit | %d | %d | %d | %d | %d | %d | %d | %d |\n",
port.bit7,
port.bit6,
port.bit5,
port.bit4,
port.bit3,
port.bit2,
port.bit1,
port.bit0);
puts("+------+---+---+---+---+---+---+---+---+");
printf("| Byte | 0x%02x |\n", port.byte);
puts("+------+---+---+---+---+---+---+---+---+");
}

int main(int argv, char **argc) {
printBinary(atoi(argc[1]));
return 0;
}

2009年6月18日木曜日

うちの部員にはOperaユーザーが多い


うちのサークルではOperaブラウザを使っている人が多い。そんなOperaブラウザがとんでもない機能を搭載したらしい。

その機能の名は「Opera Unite」。Uniteとは「…を一つにする、結びつける」という意味。果たして、その機能とはいったいどんなものなのか・・・。

ちょっとインストールしてみた。

パネルに新しく「Unite」という項目が追加されている。その中にはさらに「File Sharing」「Fridge」「Media Player」「Pthoto Sharing」「The Lounge」「Web Server」の項目が。

いろいろ調べてみたところ、どうやらOperaがサーバとして機能するようです。ごみ箱があるということは、他の機能も追加できるということでしょうか?

こんなものが正式リリースされたら、ほんとにすごいよ。メール、RSSリーダー、Torrent、Opera Widget、Opera Unite、もうOperaだけで何でもできるような気がしてきた。これはWeb業界の革命になりそうだ。ほんとに驚いた。

ところで「Media Player」という項目がありますが、以前からあった隠し要素(?)の音楽パネルはこれを見越して搭載していたのでしょうか?

2009年6月13日土曜日

Opera Widget

Widgetize!

このブログをOpera ウィジェットで読めるようにしました。Operaを利用している方は、上のリンクをクリックすると、ウェジェットが起動します。