とりあえずの備忘録

主にパソコンやインターネットに関するメモ

情報処理 進数の変換

コンピュータの世界は「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年度【春期】【秋期】応用情報技術者 合格教本 (情報処理技術者試験)

平成30年度【春期】【秋期】応用情報技術者 合格教本 (情報処理技術者試験)

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>
続きを読む