我一直在尝试为sha1算法编写一个小python脚本。我需要初始化h0到h4的全局变量。你知道吗
初始化整数的值后,它将更改为h0和h3值的不同int,而不是h1、h2或h4。我不知道为什么,谷歌快速搜索显示h0和h3不是特殊字符。你知道吗
相关代码:
h0 = 0
h1 = 0
h2 = 0
h3 = 0
h4 = 0
#Initialize some variables
def init_var():
global h0
global h1
global h2
global h3
global h4
h0 = 01100111010001010010001100000001
h1 = 11101111110011011010101110001001
h2 = 10011000101110101101110011111110
h3 = 00010000001100100101010001110110
h4 = 11000011110100101110000111110000
print "\n\n\n h0", h0
print "h1", h1
print "h2", h2
print "h3", h3
print "h4", h4
当我在控制台中打印它时,它会给出:
robert@robert-VirtualBox:~/sha1-hash-algorithm$ python testalgorithm.py
h0 1393027350754575011593322497
h1 11101111110011011010101110001001
h2 10011000101110101101110011111110
h3 19342823492383875910635592
h4 11000011110100101110000111110000
有人能告诉我为什么会这样吗?这是python中的特殊字符吗?你知道吗
在python中,以
0
开头的数字以8为基数(八进制数)。你知道吗011
等于1 * (8**1) + 1 * (8**0)
=90111
等于1 * (8**1) + 1 * (8**1) + 1 * (8**0)
=73在你的情况下,这是预期的工作。你知道吗
@罗罗已经告诉你了原因。因此,如果要为变量分配二进制数,应该使用前缀:0b
您应该知道,当您将二进制数打印到控制台时,Python将自动显示十进制数。你知道吗
相关问题 更多 >
编程相关推荐