Vimスクリプト(invert ビット演算)(その3)


アニメ『神田川JET GIRLS』

「水と空の境界線がわかんなくなっちゃって、どこまでも走って行ける気がするんだ。」
ちょっと経験不足でよくわからないのですが、きっとすごい楽しいってことですよね。何かに打ち込んでる人って、なんか清々しい表現ができますね。私も人から見たら何が面白いんだか、ひたすらコマンドばかりを勉強してブログを書いていますが、いやあ、これより面白いものがないんんですよね。とにかく止まらないんです。コンピュータと人間の境界がわかんなくなるまでコマンドをいじり倒そうと思ってます。
さて、このアニメですが、面白いに決まってるので、貯めてから見る予定、今のところ感想なしです。

続きです。

3回目を前にして、何か大きく間違っている気がしてきました。
invert()で数を指定すると、0から引いて-1するってのは、10進数でみたら、全然ビット演算に見えないけど、2進数で
みたらどうだろう。printfで2進に変換して確認してみます。

50を2進数で表示すると、

:let a=50
:echo printf("%b",a)


110010ですね。

これをinvert()で実行すると、

:echo printf("%b",invert(a))


1がたくさん並んでいますが、右の方をみると、
001101になってます。

並べて確認してみます。

110010
001101

何と! ビット反転できてますね。

今頃気づきましたが、ずっと答えは合っていたようです。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA