LINUX.ORG.RU

Инициализация отричательным числом

 


0

1

Инициализирую переменную в питоне как

a = 0x10001010
Как сделать так, чтобы питон не расширял в 32 целое и не переносил 7 бит как знаковое в 31 бит?



Последнее исправление: anonimka (всего исправлений: 1)
Ответ на: комментарий от Deleted

Проинициализировать переменную так, чтобы из 0x10000001 знаковый бит не переносился, а рассматривался как число, т.е. я хочу получить integer в Питоне как b = 0x10000001, но питон расширяет значение как
b = 0x1000 0000 0000 0000 0000 0000 0000 0001,
а я хочу получить
b = 0x0000 0000 0000 0000 0000 0000 1000 0001

anonimka
() автор топика
Ответ на: комментарий от anonimka

'0x' - это шестнадцатеричное, во-первых

попробуй numpy.uint8

хотя я так и не понял, чем тебя int не устроил. покажи пример кода, может, просто руки кривые

MyTrooName ★★★★★
()
Последнее исправление: MyTrooName (всего исправлений: 2)

Непонятно, какого поведения вы ожидаете:

>>> a = 0b10001010
>>> b = 0b00000000000000000000000010001010
>>> a == b
True
>>>
vvn_black ★★★★★
()
Ответ на: комментарий от MyTrooName

в коде вместо 0b писала 0x, из-за этого работало не как ожидалась. Спасибо, сейчас все нормально. Месячные, видимо, влияют

anonimka
() автор топика
Ответ на: комментарий от menangen

«программист на C будет писать на C на любом языке»

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.