アプリ版:「スタンプのみでお礼する」機能のリリースについて

コンピューターって0と1で組み合わせて表示されるのにどうやって数字から文字(例えばHTMLなどの文字)に変えてコンピューターに読み込ませる、理解させることができるのですか?どういう原理ですか?

質問者からの補足コメント

  • どう思う?

    どうやって記号、数字、英文字を使って人間にわかりやすくする仕組みはどうなっているのですか?

    0,1から記号、数字、英文字を使って人間にわかりやすくできるということは最初から0、1でもなくて記号、数字、英文字でコンピューターも理解できると思ったのですが。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/07/12 17:04
  • どう思う?

    半角の英数字・記号は8桁の0または1の数字の列(=8ビット=1バイト)で表します。
    全角の文字・記号は16桁の0または1の数字の列(=16ビット=2バイト)で表します。

    これはどういう意味ですか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/07/12 17:30
  • どう思う?

    どうやって記号、数字、英文字を使って人間にわかりやすくする仕組み(紳士協定)はどうなっているのですか?

    0,1から記号、数字、英文字を使って人間にわかりやすくできるということは最初から0、1でもなくて記号、数字、英文字でコンピューターも理解できると思ったのですが

    No.3の回答に寄せられた補足コメントです。 補足日時:2022/07/12 18:34
  • どう思う?

    何度も回答ありがとうございます。

    コンピュータは、01000001が数字の65なのか、文字のAなのかの区別は付かない。
    なのにプログラムを作る人同士の間でわかるようにすることができる仕組みがいくら考えても分からないです。

    No.5の回答に寄せられた補足コメントです。 補足日時:2022/07/13 15:41

A 回答 (6件)

>>コンピュータは、01000001が数字の65なのか、文字のAなのかの区別は付かない。


なのにプログラムを作る人同士の間でわかるようにすることができる仕組みがいくら考えても分からないです。

仕組み?
そう言う事を紙で書いた仕様書を全員が共有してるからだよ。
ここは数字、ここは文字と書いた仕様書だよ。
インターフェース仕様書と言う。
それが無ければ、システム開発なんかは出来ない。
どんな天才であっても区別は付かないんだから。
    • good
    • 0

>>どうやって記号、数字、英文字を使って人間にわかりやすくする仕組み(紳士協定)はどうなっているのですか?



人に解り易く、とは、印刷とか画面上の表示をどうするのか?でしょ?
そこは、文字としてプリンターも画面も認識して、その文字を印刷したり表示する様に機械が出来ている。

なので、Aを表示させるには、01000001と言う2進の数をプリンタや画面に渡してる。
プリンタや画面はこれを「文字だ」と言う様に理解する様に最初から設計されていて、そういう回路を実装している。

プログラムを作ってる人も、Aの文字を印刷したり表示したりするには01000001を渡せば良い事を知ってるから、その様にプログラムを作ってる。

>>最初から0、1でもなくて記号、数字、英文字でコンピューターも理解できると思ったのですが

コンピュータは、01000001が数字の65なのか、文字のAなのかの区別は付かない。
プログラムを作る人同士の間で、どっちなのかを最初に決めて置く。
だから紳士協定。
この回答への補足あり
    • good
    • 0

0と1のすべての組み合わせについて、それに対応した記号、数字、英文字を割り当てています(全世界共通です)。



たとえば8ビット(1バイト)のうち 1000001 ならアリファベットのAとしてあります。残りの1ビットはパリティです。

アルファベットは文字数が限られていますから、8ビット(1バイト)で全アルファベットと記号が表現可能ですが、漢字は数万ほどあり、8ビット(256)では表現できず、16ビット(2バイト、65,536)で表すことにしています。

コンピューターはハードウェアの構造上、ONかOFFか(信号レベルでHIGHかLOWか)でデータ(情報)を表現したり処理するのが最も合理的なんです。なので、コンピューター内のデータ(情報)は0と1の組み合わせだけで決まります。
    • good
    • 0

数字も文字も記号も、コンピューター内部では全部数字で有って、コンピューターは識別出来ない。



人間同士(プログラムを作る人間同士)の紳士協定に過ぎない。
01000001は2進だが、10進だと65。

これを、「数字として扱おう」と決めれば、数字の65。
「文字として扱おう」と決めれば、文字のA。

プログラムを作る人同士で決めてるだけ。
AさんがBさんに01000001を渡す時、事前に「数字としよう」と決めてあればBさんは65として扱う。

「文字としよう」と決めてあればBさんはAとして扱う。

システム開発する時に仕様書を先ず作り、その中で「数字として扱う」「文字として扱う」を決める。

システム開発者全員が仕様を共有するわけ。

だから、紳士協定
この回答への補足あり
    • good
    • 0

半角の英数字・記号は8桁の0または1の数字の列(=8ビット=1バイト)で表します。


全角の文字・記号は16桁の0または1の数字の列(=16ビット=2バイト)で表します。

数値は整数は32桁または64桁の0または1の数字の列で表します。
例えばWindowsの32ビットバージョンは前者。64ビットバージョンは後者です。

少数などは浮動小数点という表現方法があってそれを使っています。

参考まで。
この回答への補足あり
    • good
    • 0

コンピューターが扱う情報は、


有るか無しかという二つの状態の組み合わせです。
この有るか無しかを、0と1の(組み合わせ)、と言っているのです。

この0/1を7個使うと、その組み合わせは127通りになり、
記号、数字、英文字(大文字と小文字)が表現できます。
これがアスキーコードです。

この記号、数字、英文字は人間に対するものであり、
0と1の組み合わせが、コンピューターが扱うため、になっています。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!