« Javaで画像処理 | Main | 英英辞典 »

2004.04.11

符号付き演算と、符号無し演算

CPU作成の方は、符号付き演算で混乱。
CASL2では、ADDA,SUBA,ADDL,SUBLの4つの算術命令がある。それぞれ、算術加算、算術減算、論理加算、論理減算。別の言い方をすると、符号付き加算、符号付き減算、符号無し加算、符号無し減算と。

符号付きと符号無しって、データの表現方法の違いだけで演算器って共通じゃなかったっけ?ヘネパタの本と、まとめたノートは会社なので、さっとわからない。

4bitで考えてみよう。
符号なしだと、表せる範囲は0~15、符号付きだと、-8~7。


16進 符号なし 符号あり
F 15 -1
8 8 -8
7 7 7
1 1 1
0 0 0

大事な値はこれくらい。0は演算に影響しないから、F+8, F+7, 8+7,F+1,7+1くらいを考えてみる。

F+8 は符号無しだと、17hなので答えは7(0111)とOF。これは普通に足すだけ。符号付きだと、-9hなので、7(0111)とOF。これは符号付き、符号無しで一緒。

同様に、計算してみる。
F+7:符号無しで16(0110)でOF。符号付きで6(0110)でOF無し。
8+7:符号無しで15(1111)でOF無し。符号付きだと-1(1111)でOF無し。
F+1:符号無しで0でOF。符号無しで0でOF無し。
7+1:符号無しで8(1000)でOF無し。符号無しで、-8(1000)でOF有り。

計算結果が同じで、オーバーフローかどうかの判断が変わるだけですね。明日会社のヘネパタで確認しよう。

日記:
つるきソバを食べた。ソバよりも、うどんよりも天ぷらが美味しかった。
ゲイツの本は、10個のうち8個まで読めた。あと法則2つ。月曜の出張中に読み切れるか。

|

« Javaで画像処理 | Main | 英英辞典 »

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/18154/422800

Listed below are links to weblogs that reference 符号付き演算と、符号無し演算:

« Javaで画像処理 | Main | 英英辞典 »