Skip to content

bit_get()

Описание

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

Параметры

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

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

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

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

from pyspark.sql import SparkSession
from pyspark.sql.functions import bit_get

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

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

# Получаем значения битов в разных позициях
result = df.select(
    "number",
    bit_get("number", 0).alias("bit_0"),
    bit_get("number", 1).alias("bit_1"),
    bit_get("number", 2).alias("bit_2"),
    bit_get("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()
  • Для установки бита используйте bit_set()
  • Для побитовых операций используйте bitwiseAND(), bitwiseOR(), bitwiseXOR()