highByte()

Last revision:2025/04/26

名称

highByte()

説明

16ビット整数(int, unsigned int等)の上位8ビット(一番左側)を取り出す。もしくは、大きいデータ型の2番目に低いバイトを取り出す。通信プロトコル(I2C、SPI、シリアル等)でデータをバイト単位で送信したり、数値を分割するときに有用。

書式

16ビット変数の上位8ビットを取り出すには、以下の関数を使う。

highByte(x)

引数

この関数は以下の引数を受け付ける。

x取り出す変数。データ型: 任意。

戻り値

この関数は、元の変数から取り出されたバイトを返す。データ型: byte

コード例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
unsigned int x = 0xABCD; // Hexadecimal 43981

void setup() {
  Serial.begin(9600);
  
  byte high = highByte(x);  // Extracts 0xAB (171 decimal)

  Serial.print("The high byte is: ");
  Serial.println(high, HEX);  // Prints "AB"
 
}

void loop() {
}

注意

highByte()関数は、内部で以下の処理を行っている。

1
#define highByte(w) ((uint8_t) (((w) >> 8) & 0xFF))

参照

オリジナルのページ

https://docs.arduino.cc/language-reference/en/functions/bits-and-bytes/highByte/

実装の解析

まだ解析していません。

最終更新日

August 16, 2026

inserted by FC2 system