飲み会の後の朝、うだうだしていたら昼になってました。でもまあどこか行こうかってことで、嵐山に行くことにしました。嵐山は天龍寺(京都府右京区)へ。
このお寺は庭がとても綺麗です。龍安寺の枯山水も良いけど、天龍寺のように池に堂々と水を張るのもいいもんだ…。
桜の時期にしてはやや早いですが、しだれ桜が綺麗に咲いていました。一緒に見ていた大下さんが、この桜を見ていると西行の
願わくば 花の下にて 春死なん
その如月の 望月のころ
という句が思い出される、と言っていました。
さらに大下さんは続けて、如月(2月)の時期に桜は咲かないから「花の下にて」は梅のことかもね、とも言っていました。ふむ…確かに。
この句は西行の辞世の句とも言われています。できれば綺麗な花の下で死にたいな〜って意味と取れば、梅、桜どっちもありかなあ、と思います。
帰りはコロッケだのロールケーキだのを買い食いしながら、ゆったりと歩いて帰りました。今度は桜の時期に行きましょう。
じょーと一緒に飛鳥旅行に行ってきました。歩くととても回りきれないし、疲れちゃうのでレンタサイクルを借りて(1,000円くらい。高いです。)さくさくと回りました。
飛鳥を巡っていると「明日香村」と書いた看板がそこら中にありますが、地名の誤植ではありません。奈良県高市郡の明日香村(あすかむら)なので、これで正しいのです。
欽明天皇陵の近辺です。看板がなければ、田舎によくある小さい神社(吉備姫)と木が生えた低い丘(天皇陵)って感じです。じょーいわく「飛鳥で木が密集している部分があったら、ほぼ古墳だと思って間違いない。」のだそうです。
そういわれてから改めて飛鳥の景色を見ると、木の密集地帯ががくさんあります。つまりそれだけたくさんの古墳があるってこと。さすが奈良、さすが飛鳥。
鬼の雪隠は、丘の上にあった石室が支えを失って、丘から転がり落ちてきたものです。石室のフタだけが丘の上に取り残されています。そちらは鬼の俎と呼ばれています。
亀石です。形が亀に似ているのはわかるけど、何のためにあるのかよくわからない。近くにあった解説版によると、寺の領土の境界点を表していたのではないか?とのこと。目印ってことか。それにしてはでかすぎじゃないか…?
橘寺に行きました。桜は良くて七分咲きってところですかね、満開ではありませんでしたが、とても綺麗です。
橘寺は、手洗い場に「水道水です」トイレに「こぼすまい、一歩前進」など変な看板があって、ちょっと面白いお寺です。訪れた際にはぜひチェック。
石舞台古墳は本来石室を覆っている土が流れたか崩れたかして、石室が地表に出た状態の古墳です。石室ってのは棺桶を入れる部屋のことかな。
石室は地上から見るとこぢんまりしてますが、中に入るとかなり広いことがわかります。石室の主のはずの棺桶はどっかに行ってしまったみたいで、石室内はからっぽです。
次に飛鳥寺に行きました。蘇我馬子(そがのうまこ)が開いたお寺らしいです。お寺にしては珍しく、ご本尊の撮影OKです。嬉々として写真を撮ったはいいけど、堂内は薄暗くてノイズがひどい。携帯カメラじゃだめだ…。
飛鳥寺の敷地の外に蘇我入鹿の首塚があります。首塚を作った当時は首塚も敷地内に入っていたと思われます。というのも、昔の飛鳥寺は飛鳥の大部分を占めるほど広かったのだとか。
最後に甘樫丘に行きました。飛鳥が一望できる小高い丘です。丘の上では桜が2本だけ綺麗に咲いていました。日当たりの良い場所に生えていたのかな。
実は僕らが借りていたレンタサイクルは17時までに返す約束でした。が、甘樫丘を出る時点で既に16時45分です。既に時間通りに返すのは絶望的でしたが、さらにやっちまいました。
レンタサイクル屋のある駅(橿原神宮前駅、かしはらじんぐうまえ)に向かったはずが、なぜか一つ北側の駅(畝傍御陵前駅、うねびごりょうまえ)に着いてしまいました。急いで橿原神宮前駅に戻るもレンタサイクル屋は既にシャッターが降りていて、店員も誰も居ません。
借りた自転車をどうしたものかわからず、レンタサイクル屋に電話すると「店の〜〜に置いといて。」と指示されたので、その通りに放置して帰りました。時間オーバーにも関わらず無事返せたのは嬉しいですが、あんな所に放置して大丈夫かな。
駅に向かうとき、夕暮れの中を自転車で疾走していました。手袋を持ってこなかったことを何度も後悔するほど、寒くて仕方なかったです。最近だいぶ暖かくなってきたと思いますが、夕方は冷えます。まだまだ春は遠いな。
飛鳥旅行の後、土曜も仕事の大下さんと合流して3人で飲み会をしました。
割と奮発して良いワイン(確かNuit Saint Georges、ニュイ・サン・ジョルジュのワイン)と良いチーズ(詳細不明、じょーが買ってきた)を揃えたので、お酒の質は満足満足。
あと、阪神百貨店のお総菜はおいしいわ。ちょっと高いけどなー。
今日はJavaでビットフィールドを扱う方法を探していたのですが、やり方がわかりません。
#include <stdio.h>
union u {
char c;
struct _s {
unsigned a:2;
unsigned b:4;
unsigned c:2;
} s;
};
int main(int argc, char *argv[])
{
union u v;
v.s.a = 1;
v.s.b = 0;
v.s.c = 1;
printf("v.c=%d(0x%x), v.s.b=%d(0x%x)\n",
v.c, v.c, v.s.b, v.s.b);
v.s.b = 10;
printf("v.c=%d(0x%x), v.s.b=%d(0x%x)\n",
v.c, v.c, v.s.b, v.s.b);
return 0;
}
Cだと上記のように構造体風に書けるんですが、Javaだとどうすりゃいいんだろか。今は仕方ないのでシフトとビット演算でえっちらおっちら書いています。
目的はある下位ビット(stビット目とする)からある上位ビット(edビット目とする)を占めるビットフィールドを抜き出すことです。これはビットフィールドの書き換え、つまり上記のCでいうところのv.s.b = 10; のような処理をしたいときに必要です。
もう一つの目的はビットフィールドに入っている値を得ることです。これはビットフィールドを読み取り、つまりprintf("%d", v.s.b); のような処理をしたいときに必要です。
まずstビット以上を1で埋めたパターン(パターンAとする)を作ります。
作り方: 1をstビット左シフトして1を引くと、stビットより下が1で埋まったパターンが得られますので、そのパターンをビット毎NOTをするとパターンAが得られます。
次にedビット以下を1で埋めたパターン(パターンBとする)を作ります。
作り方: 1をedビット左シフトして1を引くと、edビットより下が1で埋まったパターンが得られます。そのパターンに1をedビット左シフトした値をビット毎ORすると、パターンBが得られます(※)。
パターンAとパターンBのビット毎ANDを取ると、stビットからedビットまでが1で埋まったマスクが得られます。
ビットフィールドを保持している値とマスクをビット毎ANDすると、目的のビットフィールド以外を0で潰した値が得られます。
ビットフィールド内の値を得たい場合は、パターンBだけビット毎ANDして、その後stビット論理右シフトします。パターンAをANDしなくても結果は同じです。
例としてst = 2, ed = 5の状態を図示すると上記のようになります。
おそらく「何やってるんですかJavaなら○○で一発ですよ!」ってオチがある気がしてならないので、もっと良いやり方があったらぜひ教えてくださいまし。
(※)1をed + 1ビット左シフトして1を引く方法は正常に計算できない場合があります。edと変数のビット長が等しい場合、(変数のビット長 + 1) ビットの左シフトが起きます。CやJavaでは変数のビット長を超える左シフトの結果は不定のため、得られるパターンも不定となります。
昨日の日記のお母さんのコメント「DSはもう少し画面が大きいと良いのに。」を見てふと思ったこと。
先日発売された新型機DSiでは画面が少し大きくなりました。ということは任天堂は画面が小さいという問題を認識していて、改善する意志もあるんです。なのにもっと画面を大きく(例えば倍くらい)できないのはなぜ?
あまりでかいと持てない、など理由は色々あると思いますが、大きな理由は初代DSやDS Liteと同じ環境を保つため、でしょう。
環境を保つと何が嬉しいかというと、初代DSで遊べるゲームが新型機のDS LiteやDSiでも遊べるようになります。逆に環境を保たないと、新型機で性能や機能(画面サイズなど)を変えると、過去のゲームが破綻して遊べなくなってしまいます。
より良く変えることが出来るのに、変えられない…新型機で過去のゲームが遊べることは当たり前に見えて、結構大変なのです。
ゲーム機は一度流行れば5年は持ちますから、基本となる初代機のスペック決めは非常に重要です。とはいっても、5年間使われるスペック決めってどうやるんですかね?相当難しいよね?
< | 2009 | > | ||||
<< | < | 03 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 | - | - | - | - |
合計:
本日: