当前位置:网站首页>Application of bit operation in C language

Application of bit operation in C language

2022-06-12 13:24:00 shlyyy

C Application of language bit operation


One 、 Find the absolute value

The absolute value of an integer

int AbsInt(int n)
{
    
	int i = n >> 31;   // if n >= 0, i = 0; else i = 0xffffffff = -1
	n = n ^ i;         // if i = 0, n = n; else i = 0xffffffff, n = ~n
	return n - i;      // if i = 0, n - i = n; else i = -1, n - i = n + 1
}

The absolute value of floating point numbers

float AbsFloat(float flt)
{
    
    *(size_t*)&flt = (*(size_t*)&flt & 0x7fffffff);
    return flt;
}

double AbsDouble(double dbl)
{
    
    *((size_t*)&dbl + 1) = (*((size_t*)&dbl + 1) & 0x7fffffff);
    return dbl;
}
原网站

版权声明
本文为[shlyyy]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/03/202203010516524146.html