c中的位运算

C语言按位取反运算符~
在二进制码中,为了区分正负数,采用最高位是符号位的方法来区分,正数的符号位为0、负数的符号位为1
>>位右移运算,最高为补0
int wordlength()
{
	//获得计算机中int类型的整数字长
    int i;
    int b =-1;
    unsigned v=b;
    for(i=1;(v=v>>1)>0;i++);
    return i;
}
int main()
{
    unsigned a = (unsigned)~0;
    printf("%u\n",a);
    int b = -1;
    unsigned c = b;
    cout<<c<<endl;
    int d = wordlength();
    cout<<d<<endl;
    cout << sizeof(int)*8<<endl;
    return 0;
}

你可能感兴趣的:(c++)