サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
購入・発注したい方
サービスを探す
プロ人材を探す
ノウハウ・素材を探す
ブログを探す
仕事・求人を投稿して募集
エージェントに人材を紹介してもらう
受注・働きたい方
出品する
単発の仕事を探す
継続 (時給/月給) の仕事を探す
エージェントに仕事を紹介してもらう
カテゴリ一覧
イラスト作成・漫画制作
デザイン制作
Web制作・HP作成・EC構築
動画編集・映像制作
集客・マーケティング相談
ビジネス代行・事務代行
音楽制作・ナレーション
IT相談・システム開発
ライティング・翻訳
コンサルティング・士業
生成AI活用・開発・制作
NEW
占い
悩み相談・カウンセリング
学習指導・資格・キャリア相談
住まい・美容・生活相談
オンラインレッスン・習い事
ハンドメイド制作
出張撮影・出張サービス
資産運用・副業の相談
弁護士検索・法律Q&A(法律相談)
サポート
はじめての方へ
ご利用ガイド
お困りのときは
ログイン
会員登録
サービスを探す
イラスト作成・漫画制作
>
デザイン制作
>
Web制作・HP作成・EC構築
>
動画編集・映像制作
>
集客・マーケティング相談
>
ビジネス代行・事務代行
>
音楽制作・ナレーション
>
IT相談・システム開発
>
ライティング・翻訳
>
コンサルティング・士業
>
生成AI活用・開発・制作
NEW
>
占い
>
悩み相談・カウンセリング
>
学習指導・資格・キャリア相談
>
住まい・美容・生活相談
>
オンラインレッスン・習い事
>
ハンドメイド制作
>
出張撮影・出張サービス
>
資産運用・副業の相談
>
>
プロ人材を探す
>
ノウハウ・素材を探す
ブログを探す
>
求人募集を投稿する
人材を紹介してもらう
仕事を探す
出品する
仕事を探す
仕事を紹介してもらう
出品する
仕事を紹介してもらう
求人募集を投稿する
人材を紹介してもらう
ブログを投稿
会員登録で10%割引クーポンを獲得!
会員登録で10%割引クーポンを獲得!
ココナラブログ
ホーム
ブログトップ
ブログ
IT・テクノロジー
要約:プログラムはなぜ動くのか2章パート2
記事
IT・テクノロジー
lei_231
2022/02/21 19:17
本日もやっていきます。
今日は2進数の演算方法の一つであるシフト演算についてお話していこうと思います。
ではよろしくお願いします。
シフト演算
シフトの名の通り、数値の桁を左右にずらす演算法。
左シフトの場合は上位方向にずらし、右シフトの場合は下位方向のずらす。
左シフトの場合
例えば、10進数での39を左に2シフトする場合は
1.まず2進数に変換し、00100111にする。
2.数字を全て左に二つずらす。すると、一番左の数値は二つ消え、100111になる。
3.空欄になった右二つの桁には0を入れる。
結果、10011100になる。
前回の記事で2進数の変換は説明しているのでぜひこの数値が10進数ではいくつになるのか、やってみてください。
シフト計算でなにが起こってるかを説明したいと思います。
そのためにまず、前回同様10進数だとどうなるかを説明しますが、超簡単です。
10進数で0を一つ足すとどうなるか。
皆さんご存じの通り10倍になります。
2進数でも理屈は同じです。
10進数では10倍のように、2進数では2倍になります。
逆に桁が一つ減ると、数値は1/2倍になります。
符号ビットと補数
右シフトを説明する前に符号ビットと補数について説明したいと思います。
まず符号ビットですがこちらは簡単です。
2進数でマイナスを求める場合に最も一般的に用いられる方法で、
最上位の桁を0の時はプラス、1の時はマイナス
とする方法です。
この最上位の桁を
符号ビット
と呼びます。
次に、補数とはプラスの値を用いてマイナスの値を表す方法です。
すでに意味が分からないと思いますが、お付き合いください。
補数は
1.2進数で表された数値を全ての桁で反転させます。(0の桁は1、0の桁は1)
1.反転させた結果に1を加える。
これでできます。
例えとして8桁の2進数での1(即ち00000001)をマイナスの値にしてみます。
まず1ステップ目として、反転させ、10000000にしそれに1を足すと11111111になります。
これ一見意味が分からないと思いますが、次のを見ていただけると若干わかるかなと思います。
10進数の1 - 1 = 1+(-1) = 0
を2進数に正しく変換した場合
00000001 + (-11111111)
となり、計算したら
00000001 + 11111111 = 0
になるのが分かると思います。
まとめ
今回はこんな感じです。
納得いかない人もいるかと思いますが(僕を筆頭に)雰囲気としては、x^0が1になるのと同じ感じです。
別の式に当てはめてみるとはまる、けどそれ単体だと微妙に納得いかない感じのやつです。
ここは正直僕も途中で諦めました。
細かい情報を見つけられなかったので恐らくあまり理解しなくてよいのかなと勝手に解釈して飛ばしてます。
短めですが締めたいと思います。内容が難しい分長いと疲れちゃいますから。
というわけで以上、レイでした
#プログラム
#本要約
一覧に戻る