2009-06-08
n進数と2の補数
- 2進数→10進数
- 10進数→2進数
- 16進数→10進数
- 10進数→16進数
2進数→10進数
1100(2) → 2^3*1+2^2*1+2^1*0+2^0*1 → 12(10)
110(2) → 2^2*1+2^1*1+2^0*0 → 6(10)
| 2進数 | 10進数 | bit |
|---|---|---|
| 1 | 1 | 1bit |
| 10 | 2 | 2bit |
| 100 | 4 | 3bit |
| 1000 | 8 | 4bit |
| 10000 | 16 | 5bit |
| 100000 | 32 | 6bit |
| 1000000 | 64 | 7bit |
| 10000000 | 128 | 8bit |
| 100000000 | 256 | 9bit |
10進数→2進数
27(10) → 11011(2)
| 27/2 | = | 13 | .. | 1 |
|---|---|---|---|---|
| 13/2 | = | 6 | .. | 1 |
| 6/2 | = | 3 | .. | 0 |
| 3/2 | = | 1 | .. | 1 |
| 1/2 | = | 0 | .. | 1 |
29(10) → 11101(2)
| 29/2 | = | 14 | .. | 1 |
|---|---|---|---|---|
| 14/2 | = | 7 | .. | 0 |
| 7/2 | = | 3 | .. | 1 |
| 3/2 | = | 1 | .. | 1 |
| 1/2 | = | 0 | .. | 1 |
8(10) → 1000(2)
13(10) → 1101(2)
15(10) → 1111(2)
| 8 | 4 | 2 | 1 | ||
|---|---|---|---|---|---|
| 15(10) | = | 1 | 1 | 1 | 1 |
15 = 8+4+2+1
16進数→10進数
1〜16(10) = 0〜9 a〜f(16)
1c(16) → 16^1*1+16^0*12 → (16*1)+(1*12) → 28(10)
ff(16) → 16^1*16+16^0*16 → (16*15)+(1*15) → 255(10)
cc(16) → 16^1*12+16^0*12 → (16*12)+(1*12) → 204(10)
9b(16) → 16^1*9+16^0*11 → (16*9)+(1*11) → 155(10)
10進数→16進数
29(10) → 1d(16)
| 20/16 | = | 1 | .. | d |
|---|---|---|---|---|
| 1/16 | = | 0 | .. | 1 |
85(10) → 55(16)
| 85/16 | = | 5 | .. | 5 |
|---|---|---|---|---|
| 5/16 | = | 0 | .. | 5 |
bit
- 8bit = 1byte
- ビットを立っている = 1になっている。
(例)パーミッション
| 読 | 書 | 実 |
|---|---|---|
| 4 | 2 | 1 |
- true = 1
- false = 0
- 777 = (4*1+2*1+1*1) (4*1+2*1+1*1) (4*1+2*1+1*1)
- 755 = (4*1+2*1+1*1) (4*1+2*0+1*1) (4*1+2*0+1*1)
負数
参考:負数(2の補数表現)
- 1の補数は0と1を反転させる
- 2の補数は1の補数+1
- 一番左のビットを符号ビット(+か0は0/-は1)
bit演算子
| 名称 | 演算子 | 例 | 説明 | 結果 |
|---|---|---|---|---|
| AND | & | 12&9 | 12と9両方にセット | 8 |
| OR | | | 12|9 | 12か9どちらかにセット | 13 |
| XOR | ^ | 12^9 | 12と9にセットされていて両方にセットされていないもの | 13 |
| 否定 | ~ | ~12 | 12は逆にする | -13 |
Copyright © crazyup. All rights reserved.


