C语言一些不为人所知的(1)

(1)short转为unsigned int

           在C语言标准中,先改变数据的大小,然后再从有符号转化为武符号。举个例子:

           short sx = -12345;
   unsigned uy = sx;
        
   printf("sx = %d \n",sx);
   printf("uy = %u:\t",uy);
           show_bytes((byte_pointer)&uy,sizeof(unsigned));

           

           -12345是十六进制表示为0xcfc7。当转化为无符号整形时,首先扩充数据长度为0xffffcfc7。然后再转化为无符号数。注意博主使用的计算机是小端系统(低字节数据存储在低地址)。

(2)逻辑运算符&&和||与位运算符&和|的区别

          如果第一个逻辑运算参数求值后就能确定表达式的值,那么第二个参数的值将不再需要运算。比如表达式if(p && *p++)是不会产生任何问题的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值