Quellcode durchsuchen

fix quiz7

master
吴冕志 vor 2 Jahren
Ursprung
Commit
0b3ebd841f
1 geänderte Dateien mit 3 neuen und 2 gelöschten Zeilen
  1. +3
    -2
      lab2/datalab-handout/bits.c

+ 3
- 2
lab2/datalab-handout/bits.c Datei anzeigen

@ -252,13 +252,14 @@ int conditional(int x, int y, int z) {
int isLessOrEqual(int x, int y) {
int signx = x >> 31;
int signy = y >> 31;
int isnegpos = (signx ^ signy) & (~signx); // 0xFFFFF if signx = 1 sign y = 0
int isnegpos = (signx ^ signy) & (signx); // 0xFFFFF if signx = 1 sign y = 0
int isposneg = (signx ^ signy) & (signy);
int sign1 = ~(1 << 31); // 01111111...111
int absx = x & sign1;
int absy = y & sign1;
int diff = absy + (~absx) + 1;
int signdiff = diff >> 31;
int res = !isnegpos & !signdiff;
int res = !!isnegpos | (!isnegpos & !signdiff & !isposneg);
return res;
}
//4

Laden…
Abbrechen
Speichern