情報処理 進数の変換
コンピュータの世界は「0、1」の2進数で成り立っている。その2進数を慣れ親しんだ10進数に変換したり、2進数を人間が読み取りやすい8進数や16進数に変換したりしたときのメモです。
2進数と10進数の変換
2進数「1011.101」を10進数に変換する
10進数に変換するには、各桁ごとに重み付けをすればいい。
1×(2の3乗) + 0×(2の2乗) + 1×(2の1乗) + 1×(2の0乗) . 1×(2の-1乗) + 0×(2の-2乗) + 1×(2の-3乗) 1×8 + 0×4 + 1×2 + 1×1 . 1×1/2 + 0×1/4 + 1×1/8 8 + 0 + 2 + 1 + 0.5 + 0 + 0.125 = 11.625
よって、2進数「1011.101」を10進数で表現すると「11.625」になる。
10進数「11.625」を2進数に変換する
まず、整数部(11)と少数部(0.625)に分ける。
整数部は、商がゼロになるまで2で割り続ける。そして余りを下から並べる。
11 ÷ 2 = 5 余り 1 5 ÷ 2 = 2 余り 1 2 ÷ 2 = 1 余り 0 1 ÷ 2 = 0 余り 1 下から並べると、1011。
小数部は、積の小数がゼロになるまで2で掛け続ける(積の小数だけを引き継ぐ)。そして積の整数を上から並べる。
0.625 × 2 = 1.25 0.25 × 2 = 0.5 0.5 × 2 = 1.0 上から並べると、101。
よって、10進数「11.625」を2進数で表現すると「1011.101」になる。
ちなみに少数部の計算は、永久にループする場合もある。
2進数と8進数と16進数の変換
力技で対応表を書いて変換する
2進数と8進数と16進数の変換は、慣れないうちは対応表を書いてしまったほうが早い。そして何度も書くことで頭に叩き込む。
10進数 | 2進数 | 8進数 | 16進数 |
---|---|---|---|
1 | 0001 | 1 | 1 |
2 | 0010 | 2 | 2 |
3 | 0011 | 3 | 3 |
4 | 0100 | 4 | 4 |
5 | 0101 | 5 | 5 |
6 | 0110 | 6 | 6 |
7 | 0111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
2進数「01110101」を8進数と16進数に変換する
16進数は4桁に、8進数は3桁に、後ろの方から区切って対応させる。
0111(=7)|0101(=5)| 2進数「01110101」を16進数で表現すると、75 01(=1)|110(=6)|101(=5)| 2進数「01110101」を8進数で表現すると、165
平成30年度【春期】【秋期】応用情報技術者 合格教本 (情報処理技術者試験)
- 作者: 大滝みや子,岡嶋裕史
- 出版社/メーカー: 技術評論社
- 発売日: 2017/12/08
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
Linux ユーザーの追加と削除とパスワードの変更をする
ユーザー追加はuseradd、パスワード変更はpasswd、ユーザー削除はuserdelコマンドを使用する。
ユーザーを追加する
ユーザー"sato"を追加する
# useradd sato
このとき「/home/sato」というホームディレクトリも作成される。
続きを読むPHP 配列のループ処理をする
配列のループ処理で使う各機能のメモ。
list()で配列の値を複数の変数に代入する
<?php続きを読む
//配列を作成
$member_info = array('yamada', 'taro@hoge.com', '28');
//すべての要素を取得
list($name, $email, $age) = $member_info;
echo $name . ', ' . $email . ', ' . $age . '<br />';
//1番目と3番目の要素を取得
list($name, , $age) = $member_info;
echo $name . ', ' . $age . '<br />';
?>
PHP フォームに都道府県の選択メニューを作成する
フォーム内に都道府県を選択するセレクトボックスを作成する
「全体の処理」
<?php
//都道府県リスト
$menu_array = array('都道府県を選択','北海道','青森県','岩手県','宮城県','秋田県','山形県','福島県','茨城県','栃木県','群馬県','埼玉県','千葉県','東京都','神奈川県','山梨県','長野県','新潟県','富山県','石川県','福井県','岐阜県','静岡県','愛知県','三重県','滋賀県','京都府','大阪府','兵庫県','奈良県','和歌山県','鳥取県','島根県','岡山県','広島県','山口県','徳島県','香川県','愛媛県','高知県','福岡県','佐賀県','長崎県','熊本県','大分県','宮崎県','鹿児島県','沖縄県');
続きを読む
PHP 文字列を置換する
文字列をstr_replace関数とstrtr関数を使って置換する
<?php続きを読む
$moji = 'Hello! JUGEM Blog';
//str_replace関数で置換
$moji2 = str_replace('Hello', 'Welcome', $moji);
//strtr関数で置換
$moji3 = strtr($moji, 'Hello', 'Welcome');
//出力
echo 'str_replace -> ' . $moji2 . '<br />';
echo 'strtr -> ' . $moji3 . '<br />';
?>
Javascript グローバル変数に送信状態を格納してフォームの二重送信を防ぐ
グローバル変数の値を用いて二重送信を防ぐ
「HTML部分」
<form onSubmit="return CheckSubmitted();" action="test.cgi" method="post">続きを読む
<input type="submit" value="送信">
</form>