2016-07-13 1 views
3

Что такое Pythonic way (без использования каких-либо внешних библиотек), чтобы проверить, достаточно ли целого числа, чтобы оно соответствовало 64-битовому количеству подписей?Pythonic способ проверить, подходит ли целое число в 64 битах

Извините, если этот вопрос задан раньше!

+0

@Mitch спасибо за это! – Curious

+0

Нет проблем. На самом деле, я думаю, что Martijn заставил вас получить лучший ответ, чем любой из более или менее дублированных, в любом случае. – miradulo

ответ

8

Просто проверьте размер с int.bit_length() method:

if integer_value.bit_length() <= 63: 

Метод принимает абсолютное значение, так что вы хотите, чтобы оставить немного для знака:

>>> (-2 ** 63).bit_length() 
64 
>>> (2 ** 63).bit_length() 
64 
+0

И какой рекомендуемый синтаксис для построения самого большого 64-битного целого? – Curious

+0

Это должно быть '(2 ** 63) - 1' право? – Curious

+0

@ Curious: э-э, конечно. –

Смежные вопросы