ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C语言学习笔记之操作符

2021-09-25 16:00:57  阅读:142  来源: 互联网

标签:右移 符号 int 补码 笔记 C语言 操作符 整型 表达式


右移操作符:原数不发生变化,通常采用算术右移
算术右移:右边丢弃,左边补原符号位(正整数为0,负整数为1)
逻辑右移:右边丢弃,左边补0

按位异或操作符 ^:
不同为1,相同为0
x ^ x = 0 ;
0 ^ y = y ;

short s=5;
int a=10;
printf("%d\n",sizeof(s=a+2));
printf("%d\n",s);
第一个打印2,因为a+2的值放在s里面,不会改变s的大小;
第2个打印5,因为sizeof括号中的表达式是不参与运算的;

整数在内存中存的是补码
-1的补码为全1,32个1,对-1进行按位取反操作,结果是0
负整数:原码:二进制数加符号位(放最高位1 为负,0为正)
反码:符号位不变,其他位取反
补码:反码加1
正整数:原反补码相同

int c=a&&b;逻辑与,前一个即a表达式为0,后面不管值为多少,结果都是0,这时从b往后的表达式就都不用算了
int c=a||b;逻辑或,前一个即a表达式为1,后面不管值为多少,结果都是1,这时从b往后的表达式就都不用算了

逗号表达式,从左到右依次计算,结果为最后一个表达式的结果:
a=0,b=3,c=5,d=(a=b+2,c=a-4,b=c+2)=3

C的整型算术运算总是至少以缺省整型类型的精度来进行的,为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转化为普通整型(int),这种转换称为整型提升,大于int类型的不用
整型提升方法:有符号数在前面补符号位,正整数补0,负整数补1,无符号数补0。

标签:右移,符号,int,补码,笔记,C语言,操作符,整型,表达式
来源: https://blog.csdn.net/m0_56634819/article/details/120472925

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有