[英]How to extend a fixed-length Python list by variable number of characters?
[英]Formatting number as fixed-length binary in python when number is larger than number of bits
我正在嘗試將數字轉換為固定長度的二進制表示形式。 我嘗試使用
>>> "{0:04b}".format(number)
當數字可以用四位(0-15)完全表示時,此方法有效,但是即使數字超出范圍,我也需要字符串始終為四位長。 例如,
>>> "{0:04b}".format(17)
應該返回“ 0001”,而不是“ 10001”。
我知道我只能索引結果字符串的最后4位,但是我想知道是否有更優雅的解決方案。
沒有通用方法可以限制整數轉換的寬度。 但是,您可能要針對特定情況使用特定方法。
如果不想在生成字符串后減少它,則可以減少輸入數字。 由於您只對低階四位感興趣,所以& 0xf
應該為您隔離那些:
"{0:04b}".format(number & 0xF)
另外,您可以調用兩次format
,一次轉換整數,一次限制結果字符串的字段寬度。 這是相當不可讀的,所以我不建議這樣做:
"{0:4.4s}".format("{0:04b}".format(number))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.