草庐IT

八进制

全部标签

python - 如何判断一个int数是奇数还是偶数? (二进制方式)

我想用基础知识来提高代码的效率。我知道在二进制系统中。当数字的最后一位是1时,这是一个奇数。而0是偶数。python中如何使用这种方式判断一个int数?那个python是否提供了任何内置方法来做到这一点? 最佳答案 将它与1相加:00001010010001010000000000000001&__________________0000000000000001如果得到1,则数字为奇数。如果得到0,则数字为偶数。虽然这可行,但我会改用模运算符:>>>8888%20>>>8881%21阅读起来更快更直接:In[5]:numbers=[

python - 我将如何使用 .join 和 for 循环制作随机十六进制代码生成器?

我是编程新手,我必须做的一项作业是使用for循环和.join创建一个随机的十六进制数字颜色代码生成器。我下面的程序是否接近您的操作方式,还是完全关闭?还有,有没有办法让随机数量的数字和字母出现在6以内?importrandomstr=("A","B","C","D","E","F","G","H")seq=("1","2","3","4","5","6","7","8","9")print'#',foriinrange(0,3):letter=random.choice(str)num=random.choice(seq)printnum.join(letter),printlette

python - 二进制 numpy 数组之间的快速汉明距离计算

我有两个包含二进制值的相同长度的numpy数组importnumpyasnpa=np.array([1,1,1,1,1,1,0,1,1,0,1,1,1,0,0,0,0,1,1,1,0])b=np.array([1,1,1,1,0,1,1,0,1,0,1,0,1,0,1,0,0,1,1,0,1])我想尽快计算出它们之间的汉明距离,因为我要进行数百万次这样的距离计算。这是一个简单但缓慢的选项(取自维基百科):%timeitsum(ch1!=ch2forch1,ch2inzip(a,b))10000loops,bestof3:79usperloop我想出了更快的选项,灵感来自这里关于堆栈溢出

python - 如何将 protobuf 图形转换为二进制线格式?

我有一种方法可以将二进制有线格式转换为人类可读格式,但我不能执行相反的操作importtensorflowastffromtensorflow.python.platformimportgfiledefconverter(filename):withgfile.FastGFile(filename,'rb')asf:graph_def=tf.GraphDef()graph_def.ParseFromString(f.read())tf.import_graph_def(graph_def,name='')tf.train.write_graph(graph_def,'pbtxt/','

python - 从以两个十六进制字符串传输的 C double 转换

我第一天使用Python。我喜欢过滤C生成的跟踪文件。来自C的每个double在文件中被格式化为代表64位double的32位的两个十六进制字符串。例如1234567890.3(C双)内部文件:0xb49333330x41d26580我如何解析和组合它以进一步使用Pythonfloat?提前致谢 最佳答案 您可以使用struct,对“double”使用“d”修饰符:>>>importstruct>>>num1='0xb4933333'>>>num2='0x41d26580'>>>struct.unpack('!d',(num2[2:

python - 将二进制 (0|1) numpy 转换为整数或二进制字符串?

是否有将二进制(0|1)numpy数组转换为整数或二进制字符串的快捷方式?F.E.b=np.array([0,0,0,0,0,1,0,1])=>bis5np.packbits(b)有效,但仅适用于8位值。如果numpy有9个或更多元素,它会生成2个或更多8位值。另一种选择是返回一个字符串0|1...我目前做的是:ba=bitarray()ba.pack(b.astype(np.bool).tostring())#convertfrombitarray0|1tointegerresult=int(ba.to01(),2)这很丑!!! 最佳答案

python - 在 python 中将 ASCII 字符串写为二进制

我有一个ASCII字符串="abcdefghijk"。我想使用python将其写入二进制格式的二进制文件。我试过以下:str="abcdefghijk"fp=file("test.bin","wb")hexStr="".join((("\\x%s")%(x.encode("hex")))forxinstr)fp.write(hexStr)fp.close()但是,当我打开test.bin时,我看到的是ascii格式而不是二进制格式。\x61\x62\x63\x64\x65\x66\x67我理解它是因为这里有两个斜杠("\\x%s")。我该如何解决这个问题?提前致谢。更新:以下给了我预期

python - 将十六进制字节字符串列表转换为十六进制整数列表的最简单方法是什么?

我有一个这样的十六进制字节字符串列表['BB','A7','F6','9E'](从文本文件中读取)如何将该列表转换为这种格式?[0xBB、0xA7、0xF6、0x9E] 最佳答案 [int(x,16)forxinL] 关于python-将十六进制字节字符串列表转换为十六进制整数列表的最简单方法是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2397687/

python - 将二进制转换为数字列表 Python

我有以下场景:x=0b0111我想将此值转换为:y=[0,1,1,1]当我转换x=0b1001时,我可以得到y=[1,0,0,1],但是当我尝试对做同样的事情时>x=0b0111,然后用str(bin(y))转换回来-我似乎失去了前导0,并得到0b111。有什么建议吗? 最佳答案 一旦您获得该字符串0b111,就可以直接拆分出您感兴趣的数字。对于字符串中0b之后所有内容的每个字符,将其转换为整数。[int(d)fordinstr(bin(x))[2:]] 关于python-将二进制转换为

python - 使用 Python 将二进制数据写入套接字(或文件)

假设我有一个套接字连接,另一端的第3方监听器希望看到数据以非常结构化的方式流动。例如,它寻找一个表示正在发送的消息类型的无符号字节,然后是一个表示消息长度的无符号整数,然后是另一个无符号字节,它实际上是一个设置或未设置一些标志的位字段等。.我如何在python中执行此操作?我只是想知道如何可靠地生成此数据并确保我正确发送它(即我真的发送一个无符号字节而不是一个带符号的整数或更糟的字符串)。 最佳答案 使用struct模块来构建缓冲区并写入它。 关于python-使用Python将二进制数