;問題:C語言不允許使用位變量來訪問浮點數據類型的二進制位,請看一下代碼:
unionflm
{
floatmf;
longml;
};
bdatastructbady
{
charml;
unionflmex;
}try;
sbittryf31 = try.ex.ml ^ 31;
sbittrym10 = try.ml ^ 0;
sbittrym17 = try.ml ^ 7;
;處理方法:通過將浮點數和長整數構造一個聯合(兩者均為32位),后用位變量來訪問聯合中長整型的位,由于float和long在union中占用了相同的存儲空間,也就訪問了浮點數的對應位。





