Int64Op ARG1 OP [ARG2]
执行 ARG1 和选项 ARG2 之间的 OP 操作,返回值到堆栈顶。ARG1 和 ARG2 都是 64 位整数,这意味着它们可以处理从 -2^63 到 2^63 – 1 的整数。
有效的运算符:
加法:+
减法:-
乘法:*
除法:/
取模:%
位或:
位与:&
位异或:^
逻辑或:
逻辑与:&&
小于:<
大于:>
等于:=
位非 (单变量):~
逻辑非 (单变量):!
例子:
OutFile "使用Int64Op运算64位整数.exe"
Name "使用Int64Op运算64位整数"
SetCompressor lzma
XPStyle on
Section
System::Int64Op 5 + 5
Pop $0
DetailPrint "5 + 5 = $0" # 10
System::Int64Op 64 - 25
Pop $0
DetailPrint "64 - 25 = $0" # 39
System::Int64Op 526355 * 1565487
Pop $0
DetailPrint "526355 * 1565487 = $0" # 824001909885
System::Int64Op 5498449498849818 / 3
Pop $0
DetailPrint "5498449498849818 / 3 = $0" # 1832816499616606
System::Int64Op 0x89498A198E4566C % 157
Pop $0
DetailPrint "0x89498A198E4566C % 157 = $0" # 118
System::Int64Op 0xF0F0F0F 0xF0F0FFF
Pop $0
DetailPrint "0xF0F0F0F 0xF0F0FFF = $0" # 0xF0F0FFF
System::Int64Op 0x12345678 & 0xF0F0F0F0
Pop $0
DetailPrint "0x12345678 & 0xF0F0F0F0 = $0" # 0x10305070
System::Int64Op 1 ^ 0
Pop $0
DetailPrint "1 ^ 0 = $0" # 1
System::Int64Op 1 0
Pop $0
DetailPrint "1 0 = $0" # 1
System::Int64Op 1 && 0
Pop $0
DetailPrint "1 && 0 = $0" # 0
System::Int64Op 9302157012375 < 570197509190760
Pop $0
DetailPrint "9302157012375 < 570197509190760 = $0" # 1
System::Int64Op 5168 > 89873
Pop $0
DetailPrint "5168 > 89873 = $0" # 0
System::Int64Op 189189 = 189189
Pop $0
DetailPrint "189189 = 189189 = $0" # 1
System::Int64Op 156545668489 ~
Pop $0
DetailPrint "1 ~ = $0" # -156545668490
System::Int64Op 1 !
Pop $0
DetailPrint "1 ! = $0" # 0
SectionEnd
© 版权声明
THE END
暂无评论内容