关于避免 输入几个f 代表全 1 的 就是0xffff.......啥的 看看这个办法可行乎
程序代码:
#include <stdio.h> //计算cpu字长 int c_get_cpu_lenth() { unsigned int a; int i; a=~0; i=1; while((a>>=1)!=0) ++i; return i; } //计算2^N unsigned int c_get_half_one() { unsigned int t=1; for(int i=1;i<=c_get_cpu_lenth()/2;i++) t*=2u; return t-1; } int main() { long test = 10*61380; long tl = test & c_get_half_one(); //获取整数的低16位 或者低X位 这里就不用0xffff 了 以避免弄错 可行? printf("L16=%X\n",tl); return 0; }