⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tests.c

📁 LINUX下逻辑运算符的应用
💻 C
字号:
/* Testing Code */#include <limits.h>int test_bitAnd(int x, int y){  return x&y;}int test_bitOr(int x, int y){  return x|y;}int test_leastBitPos(int x) {  int mask = 1;  if (x == 0)    return 0;  while (!(mask & x)) {    mask = mask << 1;  }  return mask;}int test_bang(int x){  return !x;}int test_negate(int x) {  return -x;}int test_tmax(void) {  return LONG_MAX;}int test_sm2tc(int x) {  int sign = x < 0;  int mag  = x & LONG_MAX;  return sign ? -mag : mag;}int test_logicalShift(int x, int n) {  unsigned u = (unsigned) x;  unsigned logicalShifted = u >> n;  return (int) logicalShifted;}int test_bitCount(int x) {  int result = 0;  int i;  for (i = 0; i < 32; i++)    result +=  (x >> i) & 0x1;  return result;}int test_abs(int x) {  return (x < 0) ? -x : x; }int test_addOK(int x, int y){  int sum = x+y;  return !(x < 0 && y < 0 && sum >= 0) && !(x > 0 && y > 0 && sum <= 0);}int test_isEqual(int x, int y){	return x == y;}int test_isNonZero(int x){	return x != 0;}int test_satAdd(int x, int y) 
{
  if (x > 0 && y > 0 && x+y < 0)
    return LONG_MAX;
  if (x < 0 && y < 0 && x+y >= 0)
    return LONG_MIN;
  return x + y;
}
int test_bitParity(int x) 
{
  int result = 0;
  int i;
  for (i = 0; i < 32; i++)
    result ^=  (x >> i) & 0x1;
  return result;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -