2006-01-01から1年間の記事一覧

今日買った本

Binary Hacks ―ハッカー秘伝のテクニック100選作者: 高林哲,鵜飼文敏,佐藤祐介,浜地慎一郎,首藤一幸出版社/メーカー: オライリー・ジャパン発売日: 2006/11/14メディア: 単行本(ソフトカバー)購入: 23人 クリック: 383回この商品を含むブログ (223件) を見…

パラレルポート入出力クラス

C++を使いたかったのでIOクラスを書いてみた。まだ途中。 かなり適当だけど、前から使ってみたかったproxyクラスを実践できたので良しとしよう。 #ifndef MAD_PARPORTIO_HPP_ #define MAD_PARPORTIO_HPP_ #include <string> #include <stdexcept> #include <fcntl.h> #include <sys/ioctl.h> #include <linux/ppdev.h></linux/ppdev.h></sys/ioctl.h></fcntl.h></stdexcept></string>…

パラレルポート入出力

CPLDをパラレルポートから制御したいので、パラレルポートから入出力する方法を調べた。 まずパラレルポートのピン割り当てについて http://www.nahitech.com/nahitafu/mame/mame5/printer.html を参考に調べた。 D-Sub25pinのメスを正面から見て右上:1 左上…

符号拡張

符号拡張を定数加算に置き換えることが出来る。理解が中途半端なのでまとめてみた。4ビット整数を8ビット整数に符号拡張するには符号ビット(MSB)を上位に伝播させればいい。 0110 => 00000110 (6) 1010 => 11111010 (-6)符号ビットが1かどうかによって分岐す…

Sequitur アルゴリズム(勉強中...)

ずいぶん放置していたので、ひさしぶりに取り掛かることにした。とりあえず、Dot Matrixで反覆文字列を抽出するとこをSequiturアルゴリズムに置き換えようと思う。

Mona OSのソースを読んでみる

ずいぶん昔に買った本だけど、ちょっと読んでみた。MONA―2ちゃんねる発祥の手作りOS作者: ひげぽん出版社/メーカー: 毎日コミュニケーションズ発売日: 2005/04メディア: 単行本 クリック: 42回この商品を含むブログ (62件) を見るついでにMona OSのソースを…

たった今、はてなダイアリー市民になったらしい。

OS自作入門1.2日目

30日でできる! OS自作入門作者: 川合秀実出版社/メーカー: 毎日コミュニケーションズ発売日: 2006/03/01メディア: 単行本購入: 36人 クリック: 735回この商品を含むブログ (299件) を見る誘惑に負けて買ってしまった。なかなか良さそう。あちこち手を出して…

ディジタル数値演算回路の実用設計

ディジタル数値演算回路の実用設計―四則演算、初等超越関数、浮動小数点演算の作りかた (Design Wave Advanceシリーズ)作者: 鈴木昌治出版社/メーカー: CQ出版発売日: 2006/11/01メディア: 単行本購入: 2人 クリック: 26回この商品を含むブログ (10件) を見…

図書館で2冊借りてきたVHDLで学ぶディジタル回路設計―ディジタル回路の理論とVHDL設計の基礎を同時に学ぶ (Design Wave Books)作者: 吉田たけお,尾知博出版社/メーカー: CQ出版発売日: 2002/03メディア: 単行本 クリック: 5回この商品を含むブログ (3件) を…

ノイズ対策

トラ技5月号別冊付録を読んだ。 ノイズ対策には エミッション対策 放出されるノイズ(伝導ノイズと放射ノイズ)を減らす イミュニティ対策 侵入するノイズを減らす の2つがある。 放射ノイズの正体は電磁波であり、周波数が高いので小さな部品や配線などそこ…

演算回路を作ってみたい

トラ技の5月号にCPLDを使った整数電卓の作り方が載っていると知って買ってみたけど、CPLDを入出力の為に使い肝心の整数演算には外部のマイコンを使ってた。まぁ、雑誌の記事でALUの作り方を載せるのは無理があるか。しょうがないので、自分で作ってみようと…

facadeパターン

boost.iterator_facadeのコードを真似て、lattice_systemを実装してみた。 かなりトリッキーなコードだけど、結構使えそうなパターンだな。 下手なデザインパターンの教科書を読むより、コードを読んだ方がいろんなパターンが勉強できて面白い。 #include <iostream> #</iostream>…

ストップウォッチ

7セグメントLEDをつけてトラ技に収録されているストップウォッチの回路をそのまま書き込んでみた。 上手く撮れてないけど、いい感じで動いている。 これにスイッチとかつけて、明日は自分で回路を書いてみよう。

CPLD工作開始

久しぶりに秋月通商に行ってパーツを買ってきた。思ったより安い。 トラ技の付録に合わせたセットは売ってたけど、CPLDまで同梱なのしかなかったので仕方無く一つずつ買ってきた。現在の基板 はんだ付けなんて久しぶりだ。 回路完成 2時間以上もかかってしま…

ハードウェア構成法が面白すぎる

自分にとって未知の世界なのではまってしまいそう。毎回の授業が面白い。他の授業がかなり楽なので、少しハードウェアの勉強に時間が割けそうだから、がんばってみよう。 論理圧縮 昨日の授業でわからなくて赤っ恥をかいてしまったので、メモ 集合表記に直し…

名無しテンプレート引数 + friend

テンプレート引数が違うのみのクラスをfriend指定したい場合は template <class A, class B, class C> class foo { template <class,class,class> friend class foo; // .... };と書けるみたい。テンプレートどっぷりなコードには必要不可欠だな、これ。名無しテンプレート引数といえば template <class A, template <class> class B> </class></class,class,class></class>…

可変長引数

可変長引数を使うには次のようにすればいいらしい (define foo (lambda args // 関数本体 ))こうすると引数が全てひとつのリストになってargsに入る。こんな書き方ができるのか〜。 普段何気なく使っている (define foo (lambda (arg1 arg2 arg3) // ))の様…

Exceptional C++

Exceptional C++―47のクイズ形式によるプログラム問題と解法 (C++ in‐Depth Series)作者: ハーブサッター,浜田光之,Harb Sutter,浜田真理出版社/メーカー: ピアソンエデュケーション発売日: 2000/11メディア: 単行本購入: 9人 クリック: 134回この商品を含む…

交差点問題

大学のアルゴリズムとデータ構造という授業で題材になってた問題。それにBGL(Boost Graph Library)で取り組んでみた。 交差点問題 左図の様な交差点がある。 全ての進路に信号が設置してある。 矢印方向にしか進むことができない。 交差する進路は同時に信号…

多倍長整数演算:繰り下がり

とりあえずレポートできたしもうこのネタは終わりにしよう。早く自分の開発に戻らねば。このところバイトと大学に追われてしまっている..orz RubyのBignumを読んでてなるほどと思ったこと。(たぶん他のどの実装も同じはず) 多倍長整数の減算をする場合は繰り…

多倍長整数演算:基数変換(続)

大体Knuthの内容が理解できた。本を返さなきゃならないのでメモっておこう。 とりあえず分かり易いように二進数十進数の変換に限定して書いとく.(他の基数でもほとんど同じ) まず進数に変換 普通の基数変換では、多倍長整数uがあった場合これを次々と10で割…

多倍長整数演算:基数変換

RubyのBignum実装を参考に実装してみた。Rubyってソースが綺麗な事で有名だけどBignumのソースは正直...うーむ読みにくい。 まぁ、速度が重要な数値回りのライブラリだし一つの変数を使いまわしたりするのは仕方ないのかもしれない。 整数環なので加算・減算…

追記:多倍長整数演算

多倍長演算の場合キャリーを考える必要があって、一桁mビットだと乗算のキャリーが最大mビットだから、普通はunsigned short型(2バイト)配列で整数値を表し計算途中はunsigned int(4バイト)型配列を使えば良い。 んで、もし基数を負数にするとしたら一桁mビ…

多倍長整数演算

レポートの2つ目の課題。 多倍長演算は結局ただの筆算なので実装は楽だろう。 でも、それじゃ自分の勉強にならないのでネタを探していた。*1 多倍長演算の実装には ビット列を符号なし整数として保持。符号情報を別に扱う。 ビット列に符号情報まで埋め込む…

アルゴリズムとデータ構造レポート

初レポート。内容は C言語でリスト構造を作れ C言語で整数環を作れ というもの。 リスト リストは以前作った事があるので、よく分かる。双方向リンクリストを実装した。 でも、来週からはSchemeを授業でやるらしいけど、LISPのリスト構造にしてみた方が良い…

Error 25: Disc Read error

ひさびさにgrub-rebootをしてノートPCを再起動したら上記のエラーが出て全てのOSが起動しなくなった。その後普通に起動してもぴくりともしない。 HDDが壊れたかと思ってびびった〜。とりあえずの対処は grubのメニュー画面で'c'を押してgrubのシェルを起動す…

ていうか、新しいものをどんどん始めてしまってどれもなかなか進まないなorz やらなきゃならない事を整理しとく。 masazo-brain/masazo-talk の開発 masazo-brain : 格子系クラスの開発中 masazo-talk : 辞書無し形態素解析のアイデアを練ってるとこ SICPを…

SICPを購入した。

計算機プログラムの構造と解釈作者: ジェラルド・ジェイサスマン,ジュリーサスマン,ハロルドエイブルソン,Gerald Jay Sussman,Julie Sussman,Harold Abelson,和田英一出版社/メーカー: ピアソンエデュケーション発売日: 2000/02メディア: 単行本購入: 35人 …

根拠のないインターフェースの実装はやめよう。

More Effective C++―最新35のプログラミング技法 (ASCII Addison Wesley Programming Series)を読んでてふと、自分のソースを見たらめちゃめちゃ汚いと思った...orz 例えば使う予定も無いのにlattice_systemなどに operator= swap デフォルトコンストラクタ …