2026年8月8日土曜日

コンピュータの世界では、二進数でマイナスを表現・読み取るために、主に「2の補数」という仕組を採用

 コンピュータの世界では、二進数でマイナス(負の数)を表現・読み取るために、主に「2の補数(はすごくう)」という仕組みを使っています。


私たちが普段使う十進数では、マイナスを表すときに「-5」のようにマイナス記号($-`)をつけますが、コンピュータは「0」と「1」の電気信号しか扱えないため、記号を使わずにマイナスを表現する工夫が必要です。

「2の補数」を使ったマイナスの読み方と仕組みを、8ビット(1バイト)のデータを例に分かりやすく解説します。

1. 最上位ビット(一番左)でプラス・マイナスを判断する

8ビットの二進数の場合、一番左のビット(最上位ビット)が符号を表す目印になります。

  • 一番左が 0 = プラス(正の数)

  • 一番左が 1 = マイナス(負の数)

つまり、一番左が 1 から始まっている二進数を見たら、「あ、これはマイナスの数だな」と読み取ります。

2. マイナスの二進数を十進数に変換して「読む」手順

例として、二進数 11111011 という数字が与えられたとき、これが十進数でいくつ(何というマイナスの数)なのかを読み解く手順を説明します。

  1. 一番左が 1 なので「マイナス」だと確定する。

  2. すべてのビットを反転させる(0を1に、1を0にする)。

    • 11111011 $\rightarrow$ 00000100

  3. 反転させた数字に「1」を足す。

    • 00000100 + 1 = 00000101

  4. この「プラスの二進数」を普通の十進数に変換する。

    • 00000101 は、十進数で 5 です。

  5. 最初に確認したマイナスをつける。

    • 答えは -5 と読み取れます。

なぜこんな面倒なことをするのか?(メリット)

「なぜわざわざビットを反転して1を足すようなことをするのか?」というと、コンピュータが「足し算の回路だけで引き算(マイナスの計算)もできるようにするため」です。

もし「一番左をマイナス記号の代わり」と単純に決めてしまうと、「$5 + (-5)$」を計算するときに特別な引き算専用の複雑な回路が必要になってしまいます。
しかし、「2の補数」の仕組みを使えば、コンピュータはプラスの数同士を足すのと同じ回路(加算器)で、そのままマイナスの計算(引き算)を正しく処理できるという巨大なメリットがあります。

ブラウザに標準搭載されている「F12開発者ツール(デベロッパーツール / DevTools)」とは

 Google ChromeやMicrosoft Edgeなどのブラウザに標準搭載されている「F12開発者ツール(デベロッパーツール / DevTools)」は、Webページの構造確認やプログラムのデバッグ、表示崩れの調査などに欠かせない強力なツールです。


エンジニアだけでなく、Webデザイナーやブロガー、ちょっとしたHTML/CSSの調整を行いたい一般の方にとっても非常に便利な機能が詰まっています。

1. 開発者ツールの基本的な開き方

  • ショートカットキー: キーボードの F12 キーを押す、または Ctrl + Shift + I(Macの場合は Cmd + Option + I)を押す。

  • 右クリックメニュー: 画面上の気になる部分で右クリックし、「検証」(または「開発者ツールで調査する」)を選択する。これを行うと、クリックした場所のコードが直接選択された状態でツールが開くため非常に便利です。

2. 主なタブと機能

開発者ツールを開くと、いくつかのタブに分かれた画面が表示されます。特によく使われる主要なタブの機能は以下の通りです。

① Elements(要素)タブ

  • 機能: Webページを構成する HTMLとCSSを表示・リアルタイム編集できます。

  • 特徴: 画面上の特定の文字や画像をクリックして選ぶと、それがコードのどの部分に該当するかが一目でわかります。ここでCSS(デザイン)の色や余白の数値を書き換えると、ブラウザ上の表示がその場で即座に変化するため、デザインの調整やシミュレーションに最適です。

② Console(コンソール)タブ

  • 機能: WebページのJavaScriptで起きたエラーや警告のメッセージが表示されるほか、JavaScriptのコードをその場で直接入力して実行できます。

  • 特徴: サイトが正しく動かない原因(エラーログ)を突き止めたり、簡単なスクリプトをテストしたりするのに使います。

③ Network(ネットワーク)タブ

  • 機能: ページが表示されるまでに、サーバーとどのような通信(画像の読み込み、プログラムファイルの取得など)が行われたかをすべて記録・可視化します。

  • 特徴: どのファイル(画像やスクリプト)の読み込みに時間がかかっているか(表示速度のボトルネック)を調べたり、通信エラー(404 Not Foundや500エラーなど)が発生した際に、どのデータが取得できていないかを特定できます。

④ Device Toolbar(デバイス切替)

  • 機能: パソコンの画面上で、スマホやタブレットの画面サイズ・解像度を模して表示させる機能です。

  • 特徴: 「スマホで見たときにデザインが崩れていないか」を手元で簡単にテストできます。

3. 知っておくと便利な具体的な使用方法・テクニック

① 画面上の文字やデザインを一時的に書き換えてみる

  • 方法: Elementsタブで任意のテキストや数値をダブルクリックして書き換える。

  • 活用法: スクリーンショット撮影の前に見せたくない個人情報を一時的に伏せ字にしたり、レイアウトが長文に対応できるかテストしたりするのに使えます(※あくまで自分の画面上だけで、実際のサーバー上のファイルは書き換わっていません)。

② スマホ表示(レスポンシブ)の確認とスクリーンショット

  • 方法: ツールの左上にあるスマホとタブレットが重なったようなアイコン(Toggle device toolbar)をクリック。画面サイズを自由に変更したり、特定の機種(iPhoneなど)を選択できます。

  • 応用: スマホ表示のまま、ツールの右上にあるメニュー(三点リーダー)から「Capture full size screenshot(全サイズのスクリーンショットをキャプチャ)」を選ぶと、縦長に続くページ全体を1枚の画像として保存できます。

③ キャッシュをクリアして強制再読み込みする

  • 方法: Networkタブを開いた状態で、画面左上の「更新(リロード)ボタン」を長押しする。

  • 活用法: 「ホームページを修正したのに古いデザインのまま反映されない」というとき、ブラウザに保存された古いデータ(キャッシュ)を無視して、サーバーから最新データを強制的に読み込ませて確認できます。

④ ページの読み込み速度のテスト(スロットリング)

  • 方法: Networkタブ内にある「No throttling(制限なし)」と書かれたプルダウンメニューを変更する。

  • 活用法: あえて「Fast 3G」や「Slow 3G」などの低速な通信環境に設定することで、電波の悪い環境でユーザーがサイトを開いたときに、どのように表示が遅れるかを検証できます。