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 * Rating: 1
*/ */
volatile int isTmin(int x) { volatile int isTmin(int x) {
return (!(!x)) & (!(((~(x) + 1) ^ x))); return !!x & (!(((~(x) + 1) ^ x)));
} }
//2 //2
/* /*
@@ -280,7 +280,7 @@ unsigned floatScale2(unsigned uf) {
* Rating: 4 * Rating: 4
*/ */
int floatFloat2Int(unsigned uf) { int floatFloat2Int(unsigned uf) {
unsigned exp, sign, frac, m; unsigned exp, sign, frac, mantissa;
int value, shift; int value, shift;
exp = (uf >> 23) & ((1 << 8) - 1); exp = (uf >> 23) & ((1 << 8) - 1);
sign = (uf >> 31) & 1; sign = (uf >> 31) & 1;
@@ -295,12 +295,12 @@ int floatFloat2Int(unsigned uf) {
} }
shift = exp - 150; shift = exp - 150;
m = ((1 << 23) | frac); mantissa = ((1 << 23) | frac);
if (shift > 0) { if (shift > 0) {
value = m << shift; value = mantissa << shift;
} else { } else {
value = m >> -shift; value = mantissa >> -shift;
} }
if (sign) { if (sign) {
return -value; return -value;