本篇文章接上篇《計算機中數的表示》
1.需要注意的問題1
float a = 11.4;
double b =11.4;
由於float和double在表示小數上的區別,所以在程式中不能用if(a==b),因為0.4不能用有限位的二進位制數表示,a和b中儲存的是11.4的近似值,且由於兩者精度的不同,所以a和b永遠不會相等。同樣也不能比較兩個float型別或者兩個double型別的資料。
2.需要注意的問題2
由於float和double的精度問題,所以在用scanf輸入資料的時候,float用%f,double必須用%lf;
3.需要注意的問題3
printf函式輸出浮點數的時候,在嚴格意義上只支援%f,由於%f要同時支援float和double,所以在把float型別的引數傳遞給printf函式的時候,printf函式會把float型別轉化為double型別即由32位轉換為64位。
4.需要注意的問題4
對int整數利用printf輸出時,不能用%f,否則會出錯。c語言中的輸入輸出函式要嚴格按照待運算元的型別來選擇對應的引數。
計算機中數的表示
異或 xor,exclusive or 運算的真值表如下 ab a xor b00 0011 1011 10用一句話概括就是 兩個運算元相同則結果為0,兩個運算元不同則結果為1。與非 nand 和或非 nor 運算就是在與 或運算的基礎上取反 ab a nand b00 1011 1011 10 a...
計算機中數的表示與儲存
原碼 將乙個整數,轉換成二進位制,就是其原碼。如單位元組的5的原碼為 0000 0101 5的原碼為1000 0101。反碼 正數的反碼就是其原碼 負數的反碼是將原碼中,除符號位以外,每一位取反。如單位元組的5的反碼為 0000 0101 5的反碼為1111 1010。補碼 正數的補碼就是其原碼 負...
計算機中數的表示與儲存
原碼 將乙個整數,轉換成二進位制,就是其原碼。如單位元組的5的原碼為 0000 0101 5的原碼為1000 0101。反碼 正數的反碼就是其原碼 負數的反碼是將原碼中,除符號位以外,每一位取反。如單位元組的5的反碼為 0000 0101 5的反碼為1111 1010。補碼 正數的補碼就是其原碼 負...