@jack239

Переписываю код с python на си. Одна строчка вообще не понятна,как?

Не понятно как на си написать строчку byte |= bit << bit_i
Вот полный код:
f = open(outfn, 'wb')
    f.write(struct.pack('HH', H, W))
    for j in range(H):
        for i in range(0, W, 8):
            byte = 0
            for bit_i in range(8):
                try:
                    bit = im.getpixel((i + bit_i, j)) < 255
                except:
                    bit = False
                # sys.stdout.write(' X'[bit])
                byte |= bit << bit_i
            f.write(struct.pack('B', byte))

    print 'wrote', outfn
  • Вопрос задан
  • 367 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Точно так же и будет
byte |= bit << bit_i;
Ответ написан
Комментировать
sim3x
@sim3x
https://wiki.python.org/moin/BitwiseOperators

byte |= foo
еквивалентно
byte = byte | foo
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы