如何在Rust中操作二进制数?

如何在Rust中操作二进制数?,rust,Rust,我如何处理和执行Rust中的数学运算,例如两个二进制数的加法或除法 在Python中,有: bin(int('101111',2)+int('111111',2)) 除非您需要使用浮点数,否则它可以正常工作。Rust中的二进制数可以使用前缀0b定义,类似于八进制和十六进制数的0o和0x前缀 要打印它们,可以使用{:b}格式化程序 fn main(){ 设x=0b1011111; 设y=0b111111; println!(“x+y={:b}即{}+{}={}”,x+y,x,y,x+y); 设a

我如何处理和执行Rust中的数学运算,例如两个二进制数的加法或除法

在Python中,有:

bin(int('101111',2)+int('111111',2))

除非您需要使用浮点数,否则它可以正常工作。

Rust中的二进制数可以使用前缀
0b
定义,类似于八进制和十六进制数的
0o
0x
前缀

要打印它们,可以使用
{:b}
格式化程序

fn main(){
设x=0b1011111;
设y=0b111111;
println!(“x+y={:b}即{}+{}={}”,x+y,x,y,x+y);
设a=0b1000000001;
设b=0b111111111;
println!(“a-b={:b}即{}-{}={}”,a-b,a,b,a-b);
设c=0b1000000001;
设d=0b111111111;
println!(“c*d={:b}即{}*{}={}”,c*d,c,d,c*d);
设h=0B101101101;
设r=0b101;
println!(“h/r={:b}即{}/{}={}”,h/r,h,r,h/r);
println!(“h%r={:b}即{}%{}={}”,h%r,h,r,h%r);
}
输出为:

x+y=110101110即367+63=430
a-b=10,即513-511=2
c*d=111111111即513*511=262143
h/r=100100010即1453/5=290
h%r=11,即1453%5=3

。Python还具有一流的二进制文本;您可以编写
0b1011111+0b111111
,而不必像在Rust中那样从字符串转换它们。