some minor changes for datalab01/bits.c
This commit is contained in:
@@ -197,7 +197,7 @@ int bitXor(int x, int y) {
|
||||
* Rating: 1
|
||||
*/
|
||||
volatile int isTmin(int x) {
|
||||
return (!(!x)) & (!(((~(x) + 1) ^ x)));
|
||||
return !!x & (!(((~(x) + 1) ^ x)));
|
||||
}
|
||||
//2
|
||||
/*
|
||||
@@ -280,7 +280,7 @@ unsigned floatScale2(unsigned uf) {
|
||||
* Rating: 4
|
||||
*/
|
||||
int floatFloat2Int(unsigned uf) {
|
||||
unsigned exp, sign, frac, m;
|
||||
unsigned exp, sign, frac, mantissa;
|
||||
int value, shift;
|
||||
exp = (uf >> 23) & ((1 << 8) - 1);
|
||||
sign = (uf >> 31) & 1;
|
||||
@@ -295,12 +295,12 @@ int floatFloat2Int(unsigned uf) {
|
||||
}
|
||||
|
||||
shift = exp - 150;
|
||||
m = ((1 << 23) | frac);
|
||||
mantissa = ((1 << 23) | frac);
|
||||
|
||||
if (shift > 0) {
|
||||
value = m << shift;
|
||||
value = mantissa << shift;
|
||||
} else {
|
||||
value = m >> -shift;
|
||||
value = mantissa >> -shift;
|
||||
}
|
||||
if (sign) {
|
||||
return -value;
|
||||
|
||||
Reference in New Issue
Block a user