簡化了二進制小數時,我試圖簡化二進制小數,此代碼來檢查,如果該值爲偶數:無限循環使用C
int is_even(floatlet value){
if(value & 1) return 0;
return 1;
}
而且這個while循環保持位轉移,直到值奇。
while(is_even(numerator) && is_even(denomExp)){
numerator >>= 1;
denomExp <<= 1;
}
while循環進行無限循環。我想知道爲什麼? 我們已經完成了測試,並且is_even函數正常工作。謝謝!
什麼是「浮子」? 「分子」和「分母」的類型是什麼? – chqrlie
a)0是偶數,0/2和0 * 2也是如此。b)你沒有打算顯示分子和denomExp的聲明或值......你怎麼可能期望任何人在沒有這些的情況下回答你的問題? –
它是8位浮點數的微型浮點表示形式。分子和分母只是整數。 – skaggs