2017-05-06 21 views
5

C de tanımlanmamış davranışlara neden olan tamsayılar üzerindeki birçok işlem Rust'ta tanımlanmıştır. Yaygın bir tema, hata ayıklama modunda panik yapmaları ve serbest bırakma modunda panik dışı bir tanıma sahip olmalarıdır. Örneğin, imzalanmış tamsayı hata ayıklama modunda taşma panik, ancak serbest bırakma modunda sarar. Ayrıca, wrapping_add(), saturating_add(), vb gibi tanımlanmış operatör varyantları da vardır.Rust'ta negatif değer tanımlanmamış bir davranış sola kaydırılıyor mu?

Peki ya negatif bir değerin kaydırılması?

#[test] 
fn negative_shift() { 
    let i = -128i8; 
    let j = i << 1; 
    assert_eq!(j, 0); 
} 

o hala davranışı tanımsız olabilir başarılı olsa da ...

cevap

İlgili konular