Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
すべてはバイナリ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Satoru Takeuchi
PRO
June 06, 2020
Technology
0
200
すべてはバイナリ
以下動画のテキストです。
https://youtu.be/8qg2b8ZZm_c
Satoru Takeuchi
PRO
June 06, 2020
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
書籍執筆での生成AIの活用
sat
PRO
1
280
ChatGPTに従って体調管理2026
sat
PRO
0
150
eBPF
sat
PRO
1
110
waruiBPF
sat
PRO
0
110
eBPFとwaruiBPF
sat
PRO
5
3.8k
Pythonのコードの気になる行でスタックトレースを出す
sat
PRO
1
100
ソースコードを読むときの思考プロセスの例 ~markdownのレンダリング方法を知りたかった2 markdownパッケージ~
sat
PRO
0
200
様々なファイルシステム
sat
PRO
0
340
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
430
Other Decks in Technology
See All in Technology
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.2k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
920
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
390
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
Webhook best practices for rock solid and resilient deployments
glaforge
1
280
配列に見る bash と zsh の違い
kazzpapa3
1
130
今日から始めるAmazon Bedrock AgentCore
har1101
4
400
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.3k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
170
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
Thoughts on Productivity
jonyablonski
74
5k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
96
Bash Introduction
62gerente
615
210k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
Rails Girls Zürich Keynote
gr2m
96
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
Practical Orchestrator
shlominoach
191
11k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
450
Mind Mapping
helmedeiros
PRO
0
80
Transcript
すべてはバイナリ Jun 6th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi 1
目次 1. コンピュータにおける情報の表現方法 2. 整数の表現方法 3. 文字の表現方法 4. まとめ 2
目次 1. コンピュータにおける情報の表現方法 2. 整数の表現方法 3. 文字の表現方法 4. まとめ 3
コンピュータシステムのデータといえば… • 人間から見て半端な、不自然な数が多い ◦ データの単位であるバイトは 8bit → 10bitじゃだめなの? ◦ メモリ量16GB、32GBとか
→ なぜ30GBとか40GBじゃだめなの? ◦ 32 bit CPUとか64bit CPUとか → なぜ50bitとか100bitじゃだめなの? • これらの数値は全部2^n • 理由: データは2^n単位で扱うのが自然 4
データの実体 • データは何らかの物理的な素子のon/offのかたまりであらわされる ◦ メモリ(DRAM), SSD: 素子内の電荷 ◦ HDD: 磁性体の磁化の向き
◦ DVD: ディスク表面の溝の深さが閾値以上かどうか • たくさんのデータを表現したければ素子を大量に並べる • 1つが1ビット、ビットが8つ集まると1バイト 5 素子1つ: 表現できる状態は2つ 素子2つ: 表現できる状態は4つ off off off on off on on off on on
データの数値表記 • データは二進表記するのが便利 ◦ ビットが立っているかどうかが一目でわかる 6 素子の状態: 素子の数は3つ → 3bit
10進表記 2進表記 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 off off off off off on off on off off on on on off off on off on on on off on on on
16進表記 • 2進表記は桁数が大きくなるのでデータは16進数で表現することが多い • 便宜上一桁を0~9,a~fで表現する。fに1を足すと桁上がり 7 データの2進表記 16進表記 00000 0
00001 1 .... ... 01111 f 10000 10
すべてはバイナリ • すべてのデータはビットないしバイトの列 ◦ 2進表記されることが多いので一般にバイナリ /バイナリデータと呼ぶ • データの例 ◦ 整数
◦ 文字列 ◦ 画像 ◦ 音声 ◦ 動画 • それぞれ規格が決まっている ◦ ときには自分で決めなければいけないこともある ▪ 例: 独自アプリ内のデータ通信方法 8
目次 1. コンピュータにおける情報の表現方法 2. 整数の表現方法 3. 文字の表現方法 4. まとめ 9
表現方法 • 0以上の整数(符号なし整数)について扱う ◦ 負の数を考えると2の補数が云々とか難しい話が出てくるので省略 • データの2進数表記がそのまま数値に対応するのでスゲエ楽! 10 0以上の整数の値 データの2進表記
10進表記 16進表記 0 00000 0 0 1 00001 1 1 2 00010 2 2 ... ... .... ... 15 01111 15 f 16 10000 16 10
演習 • 使うもの ◦ xxdプログラム(xxdパッケージに入っている ): ファイルの中身を2進表記や16進表記で見る ◦ (自作)numプログラム: 1バイトで表現される符号なし整数値を標準出力に書き込む
• やること ◦ 以下の表に記載されている整数値の 2進、16進データ表現を見る 11 0以上の整数の値 データの2進表記 16進表記 0 00000 0 1 00001 1 2 00010 2 ... ... ... 15 01111 f 16 10000 10
目次 1. コンピュータにおける情報の表現方法 2. 整数の表現方法 3. 文字の表現方法 4. まとめ 12
表現方法 • ASCII Codeという規格について扱う ◦ https://www.ieee.li/computer/ascii.htm ◦ 1バイトで一文字を扱う ◦ 数値、アルファベット
(小文字、大文字)、一部記号を表現可能 • 日本語とか考え出すと終わらないので省略 ◦ キーワード: Unicode, UTF-8, 文字コード, 地獄 13
演習 • 使うもの ◦ xxd • やること ◦ 適当に文字やら文字列をファイルに書いて xxdで覗いてみる
14
目次 1. コンピュータにおける情報の表現方法 2. 整数の表現方法 3. 文字の表現方法 4. まとめ 15
まとめ • データは物理的素子の状態(on/off)によって表現する ◦ 2つの状態をあらわすものがビット、それが 8つ集まるとバイト ◦ 2進表記、16進表記が楽 • すべてのデータはビット列で表現されるバイナリ
• 多くのデータは表現方法が規格化されている 16