我想用二进制补码表示一个负整数。使用标准的Python位表示实用程序并没有多大帮助:>>>bin(-5)'-0b101'>>>format(-5,'b')'-101'-5的二进制补码表示为1011。我该怎么做? 最佳答案 Python的整数已经使用二进制补码,但由于它们具有任意精度,负数的二进制表示在开始时将有一个无限长的1串,就像正数有一个无限长的0串一样。由于这显然无法显示,因此用减号代替。如果你想要特定宽度的二进制表示,你可以只使用模数。>>>bin(-5)'-0b101'>>>bin(-5%(1
我正在编写将IP转换为HEX的脚本。下面是我的脚本:importstringip=raw_input('EnterIP')a=ip.split('.')b=hex(int(a[0]))+hex(int(a[1]))+hex(int(a[2]))+hex(int(a[3]))b=b.replace('0x','')b=b.upper()printb我的问题是对于像115.255.8.97这样的IP,我得到这个:答案即将到来:73FF861预期答案:73FF0861谁能聪明地告诉我我犯了什么错误。 最佳答案 hex函数不填充前导零。>>
我遇到了一个问题,希望有人能帮我解决!我有一个十六进制数='0x00000000'的字符串,这意味着:0x01000000=apple0x00010000=orange0x00000100=banana与这些的所有组合都是可能的。即,0x01010000=apple&orange我如何从我的字符串中确定它是什么水果?我制作了一本包含所有组合的字典,然后与它进行比较,它起作用了!但我想知道更好的方法。 最佳答案 通过使用int()内置函数并指定基数,将字符串转换为整数:>>>int('0x01010000',16)16842752现在
这个问题在这里已经有了答案:two'scomplementofnumbersinpython(6个答案)关闭7年前。当我输入bin(-3)时,它只显示-0b11。这不是我想要的。它只是保留-符号并转换数字。我想要负数的实际表示。Python中有什么方法可以做到这一点吗?
我正在尝试将整数转换为二进制。这是我的作品。我不知道如何制作一个列表来显示二进制文件。num_str=input("Pleasegivemeainteger:")num_int=int(num_str)whilenum_int>0:ifnum_int%2==0:num_int=int(num_int/2)num_remainder=1print("Theremainderis:",0)continueelifnum_int%2==1:num_int=int(num_int/2)num_remainder=1print("Theremainderis:",1)continue余数如何拼在
我在将八进制数转换为字符串时遇到问题。p=01212k=str(p)printk结果是650但我需要01212。我怎样才能做到这一点?提前致谢。 最佳答案 您的号码p是实际的值,而不是该值的表示。所以它实际上是65010,12128和28a16,同时进行。如果你想把它看成八进制,只需使用:printoct(p)根据以下成绩单:>>>p=01212>>>printp650>>>printoct(p)01212这是针对Python2的(您似乎正在使用它,因为您使用八进制文字的0NNN变体而不是0oNNN)。Python3的表示略有不同:
我正在尝试将张量值以二进制格式保存到文件中。特别是我试图将float32张量值保存为二进制格式(IEEE-754格式)。你能帮帮我吗??importtensorflowastfx=tf.constant([[1.0,2.0,3.0],[5.5,4.3,2.5]])#howtosavetensorxasbinaryformat?? 最佳答案 推荐的方法是检查您的模型。如SavingandRestoringprogrammer'sguide中所述,你创建一个tf.train.Saver对象,可选地指定要保存哪些变量/可保存对象。然后,每
我正在编写一个应该在Python2和3中工作的模块,我需要定义一个二进制字符串。通常这会像data=b'abc'但这段代码在Python2.5上失败,语法无效。如何以一种适用于所有Python2.5+版本的方式编写上述代码注意:这必须是binary(可以包含任何类型的字符,0xFF),这一点很重要。 最佳答案 我会推荐以下内容:fromsiximportb这需要sixmodule,当然。如果您不想这样,这里有另一个版本:importsysifsys.versionMoreinfo.这些解决方案(本质上是相同的)有效、干净、速度与您将
首先,在这个问题被标记为重复之前,我知道其他人也问过类似的问题,但似乎没有明确的解释。我正在尝试将二进制文件读入二维数组(在此处记录良好http://nsidc.org/data/docs/daac/nsidc0051_gsfc_seaice.gd.html)。header是一个300字节的数组。到目前为止,我有;importstructwithopen("nt_197912_n07_v1.1_n.bin",mode='rb')asfile:filecontent=file.read()x=struct.unpack("iiii",filecontent[:300])抛出字符串参数长度
假设我有一些二进制值:0b100并想将其转换为base64执行base64.b64decode(0b100)告诉我它需要一个字符串,而不是一个int....现在,我不想使用字符串。那么,有人能指出将二进制数转换为base64数的正确方向吗?谢谢!=D 最佳答案 取决于您如何表示值0b100>>>importstruct>>>val=0b100>>>printstruct.pack('I',val).encode('base64')BAAAAA==这会将您的值转换为原生字节顺序的4字节整数,并将该值编码为base64。您需要指定数据的