Bladeren bron

finish quiz8

master
吴冕志 1 jaar geleden
bovenliggende
commit
1a32e3302f
1 gewijzigde bestanden met toevoegingen van 9 en 2 verwijderingen
  1. +9
    -2
      lab2/datalab-handout/bits.c

+ 9
- 2
lab2/datalab-handout/bits.c Bestand weergeven

@ -259,7 +259,7 @@ int isLessOrEqual(int x, int y) {
int absy = y & sign1;
int diff = absy + (~absx) + 1;
int signdiff = diff >> 31;
int res = !!isnegpos | (!isnegpos & !signdiff & !isposneg);
int res = !(!isnegpos) | (!isnegpos & !signdiff & !isposneg);
return res;
}
//4
@ -272,7 +272,14 @@ int isLessOrEqual(int x, int y) {
* Rating: 4
*/
int logicalNeg(int x) {
return 2;
int sign = (x ^ (~x + 1)) >> 31;
int one = 1;
int singlesign = sign & one;
int intmin = 1 << 31;
int isnotmin = (~x) >> 31; // if x is 00000, get 1111 and if x is 1000 get 00000
int notmin = isnotmin & one;
int res = singlesign ^ one & notmin;
return res;
}
/* howManyBits - return the minimum number of bits required to represent x in
* two's complement

Laden…
Annuleren
Opslaan