次の C コードを検討してください。
int c=((0xa3>>6)&0x1f)|0xc0;
printf("%d\n",c);
194 ( ) が正しく出力され0xc2
ます。同じことを に書くとwcalc
、結果は 195、つまり0xc3
. これはある種の精度エラーですか?これは予想される動作ですか?floor
およびceiling
関数は機能しません...または、より具体的にfloor
は、0xa3では機能しますが、たとえば、では機能しません0xa1
。
どんな助けでも感謝します。ありがとう。