some minor changes for datalab01/bits.c

This commit is contained in:
2025-10-01 13:31:09 +09:00
parent b189afd37a
commit 85db177ba3

View File

@@ -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;