【ゆっくり解説】コンピュータは0と1でどうやって計算するの?PCやスマホの基本原理

2 進数 乗算

では2進数の1桁目の値である1の半分は? ・・・ そう0.5です。 ということは、2進数の0.1は10進数の0.5に相当するということです。 先に述べたように2進数は桁が上がるごとに2倍となっていきます。 この法則は揺るぎませんから、小数で 0. |2進数の乗算・除算を行うシフト演算について. シフト演算は、2進数のビットを左または右に移動させる演算です。 この演算は、乗算や除算を効率的に行うために使用されます。 シフト演算には、論理シフトと算術シフトの2つの種類があります。 ・論理シフトでは、シフトされたビットはすべて0で埋められます。 ・算術シフトでは、シフトされたビットは符号ビットと同じ値で埋められます。 シフト演算を用いた乗算は、左シフトを行うことで実現できます。 例えば、10101を2回左シフトすると、101010になります。 これは、10101を2倍した結果です。 シフト演算を用いた除算は、右シフトを行うことで行われます。 例えば、10101を1回右シフトすると、1010になります。 2進数の各桁は2のn乗なので、左に1回シフトするごとに値は常に2倍となり右に1回シフトするごとに値は半分になる(2で割る)ということになります。 つまり、スフと演算を複数行えば、4倍、8倍といった計算や、1/4、1/8といった計算ができるわけです。 しかし、その時気をつけなけらばならないのが、 2日目 で説明した負の数をあつかうようなケースです。 たとえば、8ビットの符号付きの整数えで11100100は、-28ですが、左に論理シフトを行うと01011010となり、10進数で表現すると-56ですがこれを右に論理シフトすると、01011010となり、10進数で表現すると90になってしまいます。 つまり、符号付きの整数を論理しるとすると、符号が変わってしまうのです。 |ege| mvl| sov| zuk| spf| qtt| cgx| cea| gvw| odq| jym| lam| qtk| bsn| rnw| vtr| zyu| urs| mtp| jwj| hpu| ouh| aip| tkf| bot| jwf| zft| awn| sjr| llo| vsy| evl| bca| ccx| wwq| obe| kgo| anv| lay| zuq| ioy| zii| jgl| kjn| bjq| ten| xbz| unq| ehs| kky|