我试图找到有关<<和>>运算符如何处理整数的确切信息,但我找不到一个明确的答案(文档在这方面并不是那么好).
语义的两个部分对我来说并不清楚.首先,哪些位"移入"?
0b1110_1010u8 << 4 == 0b1010_0000u8)移入,或0b1110_1010u8 << 4 == 0b1010_1110u8),或此外,移位如何使用有符号整数?符号位是否也参与了班次?或者这是未指定的?
我的默认 Rust 启用了整数溢出保护,并且会在溢出时停止正在执行的程序。大量算法需要溢出才能正常运行(SHA1、SHA2 等)