Skip to content

getbit()

Описание

Функция getbit() является синонимом функции bit_get() и возвращает значение бита в указанной позиции двоичного представления числа. Позиция отсчитывается справа налево, начиная с 0.

Параметры

  • column: Column - числовой столбец
  • pos: Integer - позиция бита (0 для младшего бита)

Возвращаемое значение

Integer - значение бита (0 или 1)

Пример использования

from pyspark.sql import SparkSession
from pyspark.sql.functions import getbit

# Создаем SparkSession
spark = SparkSession.builder.appName("getbit_example").getOrCreate()

# Создаем DataFrame с числами
data = [
    (5,),  # 0101
    (6,),  # 0110
    (7,)   # 0111
]
df = spark.createDataFrame(data, ["number"])

# Получаем значения битов в разных позициях
result = df.select(
    "number",
    getbit("number", 0).alias("bit_0"),
    getbit("number", 1).alias("bit_1"),
    getbit("number", 2).alias("bit_2"),
    getbit("number", 3).alias("bit_3")
).show()

# Результат:
# +------+-----+-----+-----+-----+
# |number|bit_0|bit_1|bit_2|bit_3|
# +------+-----+-----+-----+-----+
# |     5|    1|    0|    1|    0|
# |     6|    0|    1|    1|    0|
# |     7|    1|    1|    1|    0|
# +------+-----+-----+-----+-----+

Примечания

  • Позиция бита отсчитывается справа налево, начиная с 0
  • Возвращает 0 для отрицательных позиций или позиций, превышающих размер числа
  • Для подсчета количества установленных битов используйте bit_count()
  • Для установки бита используйте setbit()
  • Для побитовых операций используйте bitwiseAND(), bitwiseOR(), bitwiseXOR()