🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.sci.informatics
Article #62

Re: コンピュータの得意な計算は?

#62
From: MURATA Shigeaki
Date: Mon, 18 May 1998 00:00
52 lines
2925 bytes
村田@札幌大 です。

>>その説明を真面目に書き始めると、1日や2日ぐらい簡単にかかります(一週間ぐ
>らいかかるかも)。
>
>説明していただかなくても結構なので、
>答えだけ教えていただけませんでしょうか。


 要するにもっと勉強しなさいと、言っておられるのです。
でも、それではちょっと冷たいですね。

1.普通は、加算が基本です。
2.補数表示という方法(勉強して下さい)を使って、減算を加算で
で行うようにします。
 加算回路が、ハードウェアの基本です。
(ただし、歴史的には、補数を使わないタイプのコンピュータがあり
ました。いまでも、例外はあるかもしれません。)

3.乗算は加算の繰り返しです。
 非常に簡単な、MPUでは、プログラムを使って、加算の繰り返し
の形で、乗算を行います。
 しかし、それでは、時間がかかるので、乗算回路が、研究されま
した。物理哲学的には、加算の繰り返しなのですが、いろいろ工夫
されました。

4.除算は、減算の繰り返しです。(引いてみて、引くことが出来
るかどうか判定し...貴方は、十進法の割り算は出来ますか?)
 二進法では、もっと単純になります。だから、40年前は、除算
回路のない、コンピュータ(今の電卓のようなもの)がありました。
もちろん、遅いです。
 除算回路が、普通のコンピュータに採用されたのは、比較的後
(といっても、貴方にとっては大昔)でした。減算は、加算の形に
置き換えますから、原理にこだわると、加算の繰り返しとなります。
やはり、工夫に工夫を重ねて、速度向上に努め、現在の形となっ
たのです。

 貴方のパソコンのMPUにも、乗算回路、除算回路は入っています。
 
  第2種情報処理技術者試験のアッセンブラ言語CASLは、仮想的
コンピュータCOMETの言語ですが、このコンピュータは乗算、除算
は、ハードウェアでは、できません。ソフトウェア(プログラム)で、行
うことになっています。
 なお、COMETには、減算命令がありますが、これは、補数を取っ
てから加算するのだと思います。

なんとなく、整数の話のように書きましたが、実際はもっと複雑です。

これ以上は、本を読んで下さい。

結論 普通のコンピュータは、加減乗除に限ると、加算が得意です。
Technical Details
Message-ID: <6jp2lm$17a@SSV101.sapporo-u.ac.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <359DD6F3.7B50@s.fpu.ac.jp> <HIRONOBU.98May6113101@h2np.h2np.suginami.removeme.tokyo.jp> <6ir8ku$pa0@cissv01.cis.fpu.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: f6edc,86359def09a08385
X-Google-Attributes: gidf6edc,public
From: "MURATA Shigeaki" <murata-s@sapporo-u.ac.jp>
Subject: Re: コンピュータの得意な計算は?
Date: 1998/05/18
Message-ID: <6jp2lm$17a@SSV101.sapporo-u.ac.jp>
X-Deja-AN: 354265012
Content-Transfer-Encoding: 7bit
References: <359DD6F3.7B50@s.fpu.ac.jp> <HIRONOBU.98May6113101@h2np.h2np.suginami.removeme.tokyo.jp> <6ir8ku$pa0@cissv01.cis.fpu.ac.jp>
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-2022-jp"
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
Organization: Sapporo University. Toyohira-ku, Sapporo-City, JAPAN.
Newsgroups: fj.sci.informatics