Ответ
Старшие биты (High-order bits) — это биты в двоичном представлении числа, которые имеют наибольший вес (значимость). Они находятся слева. Самый левый бит называется MSB (Most Significant Bit — самый значимый бит).
Младшие биты (Low-order bits) — это биты с наименьшим весом. Они находятся справа. Самый правый бит называется LSB (Least Significant Bit — наименее значимый бит).
Пример для 8-битного числа 0b11001010
(202):
11001010
↑ ↑
MSB LSB
- Старший бит (MSB) —
1
. В знаковых числах (signed) он определяет знак (0
— положительное,1
— отрицательное). - Младший бит (LSB) —
0
. Его значение определяет, является ли число чётным (0
) или нечётным (1
).
Пример в Go:
package main
import "fmt"
func main() {
num := uint8(0b11001010) // 202
// Получаем MSB с помощью сдвига вправо на 7 позиций
msb := num >> 7
// Получаем LSB с помощью побитового "И" с 1
lsb := num & 1
fmt.Printf("Число: %d (%08b)n", num, num)
fmt.Printf("Самый значимый бит (MSB): %dn", msb) // Выведет: 1
fmt.Printf("Наименее значимый бит (LSB): %dn", lsb) // Выведет: 0
}
Практическое применение:
- MSB: Определение знака числа, старшие байты в сетевых протоколах (Big Endian/Little Endian).
- LSB: Проверка на чётность, использование в качестве флагов, криптография, генераторы псевдослучайных чисел.