当前位置: 首页 > news >正文

上海小企业网站建设平台小时seo加盟

上海小企业网站建设平台,小时seo加盟,深圳网站建设熊掌号,angularjs 网站开发深入理解C语言中的整形提升与算术转换 一.整形提升:概念与原理 在C语言中,整形提升(Integer Promotion)是一个重要但容易被忽视的概念。它指的是在表达式中,任何小于int类型的整型(如char、short&#xf…

深入理解C语言中的整形提升与算术转换

一.整形提升:概念与原理

在C语言中,整形提升(Integer Promotion)是一个重要但容易被忽视的概念。它指的是在表达式中,任何小于int类型的整型(如charshort)操作数在使用前都会被自动转换为普通整型int

1.为什么需要整形提升?

  1. 硬件效率考虑:CPU的整型运算器通常以int长度为标准操作数长度,使用标准长度可以提高运算效率

  2. 精度保持:防止在运算过程中意外丢失数据精度

2.整形提升规则

整形提升按照变量的数据类型的符号位进行:

  • 有符号类型:高位补符号位

  • 无符号类型:高位补0

3.整形提升实例分析

示例1:指针操作与内存覆盖
int main() {int arr[] = {1, 2, 3, 4, 5};short* p = (short*)arr;int i = 0;for(i = 0; i < 4; i++) {*(p + i) = 0; // 使用short指针修改int数组}for(i = 0; i < 5; i++) {printf("%d ", arr[i]);}return 0;
}

分析

  1. arr是一个包含5个int的数组

  2. short* p指向arr的首地址

  3. 循环中将前4个short位置设为0

  4. 由于int通常是4字节,short是2字节,所以前两个int被完全置为0

  5. 输出结果将是:0 0 3 4 5

示例2:char类型的整形提升
int main() {char a = -1;signed char b = -1;unsigned char c = -1;printf("%d %d %d ", a, b, c);return 0;
}

分析

  1. ab都是有符号char,值为-1(内存表示:0xFF)

  2. c是无符号char,赋值-1会转换为255(0xFF)

  3. 当用%d打印时,发生整形提升:

    • ab:符号扩展为0xFFFFFFFF(即-1)

    • c:零扩展为0x000000FF(即255)

  4. 输出结果:-1 -1 255

二.算术转换规则

当表达式中存在不同类型的操作数时,C语言会进行自动类型转换(称为"算术转换"),规则如下:

类型等级从低到高
int → unsigned int → long → unsigned long → long long → unsigned long long → float → double → long double

http://www.cadmedia.cn/news/7802.html

相关文章:

  • 清溪东莞网站建设运营培训班有用吗
  • 网站建设费用模板备案域名查询
  • 网站推广实施计划专业模板建站
  • 论文网站爱站权重查询
  • 响应网站建设国内十大软件测试培训机构
  • 网站推广都有哪些网络优化大师下载
  • 企业做一个app多少钱网站做seo教程
  • 网站建设用户分析中牟网络推广外包
  • 济南品牌营销型网站建设北京seo关键词优化收费
  • 公司网站最新版免费的网络推广有哪些
  • 找工作平台网站广告留电话号的网站
  • 做网站用虚拟主机还是服务器软文推广300字
  • 龙岗做网站多少钱关联词有哪些类型
  • 网站访问工具免费有效的推广平台
  • 广州网站建设品牌seo数据优化教程
  • 佛山网站建设制作网络seo推广
  • 深圳服饰网站建设查看别人网站的访问量
  • 大连城建设计研究院网站电脑培训网上课程
  • 武汉市建设工程造价管理站网络舆情优化公司
  • 一品威客网怎么样搜索引擎优化的方法和技巧
  • 深圳网站建设响应式网站深圳百度竞价推广
  • 云南省中国建设工程造价管理协会网站seo资讯网
  • 免费地方域名注册seo综合查询工具可以查看哪些数据
  • 左28cm移动建站优化
  • wordpress网站的彻底清理软件推广赚钱
  • 网站建设建网站网销怎么做
  • 平阳高端网站建设网页开发工具
  • 建设电子商务网站的方法有?成品影视app开发
  • 如何免费制作一个公司网站免费外链网
  • 西安城乡建设委员会网站打不开重庆网络推广