(unsigned char) ~0 >> 1

来源:互联网 发布:java表单上传文件 编辑:程序博客网 时间:2024/06/06 23:59

(unsigned char) ~0 >> 1  是什么意思?

第一步:先是把数字0的各个二进制位全部转换为1

第二步:然后,将结果值转换为unsigned char 类型

第三步:然后右移一位。             

 

0默认为int型,占用4个字节,存储为0x00000000,~0的存储值为0xffffffff

sizeof(int) >= 2, sizeof(unsigned char) = 1
转换为unsigned char后存储为0xff,其值为255
>>1就是除以2,存储为0111 1111, 所以为255/2 = 127

所以(unsigned char)~0为ff(无符号),再右移一位为7f(即127)

1 0
原创粉丝点击