mirror of
https://github.com/Comp211-SP24/lab-03-Rushilwiz.git
synced 2025-04-09 22:00:17 -04:00
finihsed
This commit is contained in:
parent
c483dc942d
commit
991bede316
31
bit_utils.c
31
bit_utils.c
|
@ -1,4 +1,4 @@
|
||||||
// PID: 9DigitPidNoSpacesOrDashes
|
// PID: 730677144
|
||||||
// I pledge the COMP 211 honor code.
|
// I pledge the COMP 211 honor code.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,28 +11,37 @@
|
||||||
#include "bit_utils.h"
|
#include "bit_utils.h"
|
||||||
|
|
||||||
unsigned int mask(unsigned int num, unsigned int bits) {
|
unsigned int mask(unsigned int num, unsigned int bits) {
|
||||||
// TODO: implement
|
return num & bits;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int set(unsigned int num, unsigned int bits) {
|
unsigned int set(unsigned int num, unsigned int bits) {
|
||||||
// TODO: implement
|
return num | bits;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int inverse(unsigned int num, unsigned int bits) {
|
unsigned int inverse(unsigned int num, unsigned int bits) {
|
||||||
// TODO: implement
|
return num ^ bits;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int bit_select(unsigned int num,
|
unsigned int bit_select(unsigned int num,
|
||||||
unsigned int startbit,
|
unsigned int startbit,
|
||||||
unsigned int endbit) {
|
unsigned int endbit) {
|
||||||
// TODO: implement
|
unsigned int shifted = num >> endbit;
|
||||||
return 0;
|
unsigned int bit_count = startbit - endbit + 1;
|
||||||
|
unsigned int mask = (1 << bit_count) - 1;
|
||||||
|
return shifted & mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int barrel_shift(unsigned int num, unsigned int shamt) {
|
unsigned int barrel_shift(unsigned int num, unsigned int shamt) {
|
||||||
// TODO: implement
|
const unsigned int bit_width = sizeof(unsigned int) * 8;
|
||||||
return 0;
|
|
||||||
|
shamt %= bit_width;
|
||||||
|
|
||||||
|
if (shamt == 0) {
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
unsigned int right_part = num >> shamt;
|
||||||
|
|
||||||
|
unsigned int left_part = num << (bit_width - shamt);
|
||||||
|
|
||||||
|
return right_part | left_part;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user