MW211 EXIT

devlog
設計/型大全
2014年07月02日
┌──────────┬───────────────┬───────────┐
│char_t              │character                     │文字( 8ビット文字)    │
│char                │character                     │                      │
├──────────┼───────────────┼───────────┤
│string              │character string              │文字列                │
└──────────┴───────────────┴───────────┘
┌──────────┬───────────────┬───────────┐
│numeric             │numeric                       │数値(小数)            │
├──────────┼───────────────┼───────────┤
│decimal             │decimal                       │小数                  │
└──────────┴───────────────┴───────────┘
┌──────────┬───────────────┬───────────┐
│short               │short integer                 │短精度整数            │
│signed short        │signed short integer          │符号あり短精度整数    │
│unsigned short      │unsigned short integer        │符号なし短精度整数    │
├──────────┼───────────────┼───────────┤
│int                 │integer                       │整数                  │
│signed int          │signed integer                │符号あり整数          │
│unsigned int        │unsigned integer              │符号なし整数          │
├──────────┼───────────────┼───────────┤
│long                │long integer                  │長精度整数            │
│signed long         │signed long integer           │符号あり長精度整数    │
│unsigned long       │unsigned long integer         │符号なし長精度整数    │
├──────────┼───────────────┼───────────┤
│long long           │double long integer           │倍長精度整数          │
│signed long long    │signed double long integer    │符号あり倍長精度整数  │
│unsigned long long  │unsigned double long integer  │符号なし倍長精度整数  │
└──────────┴───────────────┴───────────┘
┌──────────┬───────────────┬───────────┐
│int8_t              │signed 8-byte integer         │符号あり 8ビット整数  │
│signed char         │signed character              │(符号あり文字)        │
├──────────┼───────────────┼───────────┤
│uint8_t             │unsigned 8-byte integer       │符号なし 8ビット整数  │
│unsigned char       │unsigned character            │(符号なし文字)        │
│byte                │byte                          │( 1バイト文字)        │
├──────────┼───────────────┼───────────┤
│int16_t             │signed 16-byte integer        │符号あり16ビット整数  │
│(signed short)      │                              │                      │
│(signed int)        │                              │                      │
├──────────┼───────────────┼───────────┤
│uint16_t            │unsigned 16-byte integer      │符号なし16ビット整数  │
│word                │word                          │( 2バイト文字(2×1))  │
│(unsigned short)    │                              │                      │
│(unsigned int)      │                              │                      │
├──────────┼───────────────┼───────────┤
│int32_t             │signed 32-byte integer        │符号あり32ビット整数  │
│(signed int)        │                              │                      │
│(signed long)       │                              │                      │
├──────────┼───────────────┼───────────┤
│uint32_t            │unsigned 32-byte integer      │符号なし32ビット整数  │
│dword               │double word                   │( 4バイト文字(2×2))  │
│(unsigned int)      │                              │                      │
│(unsigned long)     │                              │                      │
├──────────┼───────────────┼───────────┤
│int64_t             │signed 64-byte integer        │符号あり64ビット整数  │
│(signed long)       │                              │                      │
│(signed long long)  │                              │                      │
├──────────┼───────────────┼───────────┤
│uint64_t            │unsigned 64-byte integer      │符号なし64ビット整数  │
│qword               │quadruple word                │( 8バイト文字(2×4))  │
│(unsigned long long)│                              │                      │
│(unsigned long)     │                              │                      │
├──────────┼───────────────┼───────────┤
│float32_t           │32-byte floating point number │32ビット浮動小数点数  │
│float               │floating point number         │短精度浮動小数点数    │
├──────────┼───────────────┼───────────┤
│float64_t           │64-byte floating point number │64ビット浮動小数点数  │
│double              │double floating point number  │倍精度浮動小数点数    │
└──────────┴───────────────┴───────────┘
分類:設計
設計/連番をグループ番号と枝番に変換
2014年07月01日
一定の周期でグループ化されている連番から、グループ番号と枝番を算出する方法。
┌──────────────────────────────────────┐
│                        Y座標                                               │
│      ┌─┬─┬─┬─┐                                                    │
│      │ 1│ 2│ 3│ 4│    1                                               │
│      ├─┼─┼─┼─┤                                                    │
│      │ 5│ 6│ 7│ 8│    2                                               │
│      └─┴─┴─┴─┘                                                    │
│ X座標   1   2   3   4                                                      │
└──────────────────────────────────────┘
例えば、上記の場合「7」は「2-3」(Y-X)みたいな感じに変換する方法。

単純に以下のようにやってしまうと、剰余がない場合にずれてしまう。
┌──────────────────────────────────────┐
│グループ番号 = (値 / グループ単位) + 1;  …商(端数切捨)                     │
│        枝番 = 値 % グループ単位;        …剰余                             │
└──────────────────────────────────────┘
上記の例でいえば、「8」は「2-0」ではなく「3-0」になってしまう。

よって、以下のように「-1」して0オリジンにしてから計算しなければならない。
┌──────────────────────────────────────┐
│                        商                                                  │
│      ┌─┬─┬─┬─┐                                                    │
│      │ 0│ 1│ 2│ 3│ 0                                                  │
│      ├─┼─┼─┼─┤                                                    │
│      │ 4│ 5│ 6│ 7│ 1                                                  │
│      └─┴─┴─┴─┘                                                    │
│  剰余   0   1   2   3                                                      │
└──────────────────────────────────────┘
つまり、以下のような感じになる。
┌──────────────────────────────────────┐
│グループ番号 = ((値 - 1) / グループ単位) + 1;  …商(端数切捨)               │
│        枝番 = ((値 - 1) % グループ単位) + 1;  …剰余                       │
└──────────────────────────────────────┘
注意が必要だ。
分類:設計
前へ 1 2 3 次へ