元となる8bitのデータをxとし、上位4bitをa、下位4bitをbとします
//擬似コード
a = (x >> 4) & 0b1111;
b = x & 0b1111;
- 分割
input: x (16bit)
output: a (上位8bit)、 b (下位8bit)
//擬似コード
a = (x >> 8) & 0xFF;
b = x & 0xFF;
反対に上位4bitと下位4bitから8bitのデータを作る場合
//擬似コード
x = (a << 4) | (b & 0b1111)
- 結合
input: a (上位8bit)、 b (下位8bit)
output: x (16bit)
//擬似コード
x = (a << 8) | (b & 0xFF)