C语言中整形提升举例说明

一.  简介

前面一篇文章简单学习了 C语言中的整形提升。文章如下:

C语言中的整型提升-CSDN博客

本文再举例说明 C语言随处可见的整型提升的代码示例。

二.  C语言中整形提升举例说明

1.  什么是整形提升?

C语言的表达式中的 字符型(即 char)和短整型(即 short)类型数据在做一些运算之前,被转换成普通整型 int类型,这种转换叫做整型提升。

2. C语言中整形提升举例说明

(1) 举例一

代码如下:

#include <stdio.h>

int main(void)
{
char c = 1;
printf("%u\n", sizeof(c));
printf("%u\n", sizeof(+c));
printf("%u\n", sizeof(-c));
return 0;
}

c是 char类型,sizeof(c) 就是 1。

c是 char类型,而 在 +c、-c 中,c 都参与了运算,所以,会进行整型提升,整型提升为 int类型,所以,sizeof(+c) ,sizeof(-c) 都为 4。

(2) 举例二

打印  如下代码的输出值

#include <stdio.h>
int main()
{
  char a = -128;
  printf("%u\n",a);
  return 0;
}
  • -128 的原码:10000000 00000000 00000000 10000000
  • -128 的反码:11111111 11111111 11111111 01111111
  • -128 的补码:11111111 11111111 11111111 10000000
  • 执行了 char a = -128 后,a 截断 10000000
  • 整形提升后为:11111111 11111111 11111111 10000000
  • 所以最后输出:11111111 111111111 1111111 10000000 ,对应的十进制数,是一个很大的数

(3) 举例三

如下也是一段代码也存在 整型提升

#include <stdio.h>
int main()
{
  char a = 128;
  printf("%u\n",a);
  return 0;
}

  •  128补码: 10000000 00000000 00000000 10000000
  • 截断:a补码:10000000 
  • 整形提升:11111111111111111111111110000000
  • 所以最后输出11111111111111111111111110000000对应的数,一个很大的数

整形提升是真实存在的,但是我们平时感觉不到他的存在

其他数据类型如 int, floatdouble 等大于等于 int类型的操作符,之间的转换,就要用到算术转换了。

相关推荐

  1. C语言整形提升举例

    2024-06-10 21:02:02       10 阅读
  2. 举例自然语言(NLP)技术

    2024-06-10 21:02:02       33 阅读
  3. 举例自然语言处理(NLP)技术。

    2024-06-10 21:02:02       32 阅读
  4. 举例自然语言处理(NLP)技术。

    2024-06-10 21:02:02       32 阅读
  5. 举例自然语言处理(NLP)技术。

    2024-06-10 21:02:02       29 阅读
  6. 举例自然语言处理(NLP)技术

    2024-06-10 21:02:02       32 阅读
  7. 举例自然语言处理(NLP)技术

    2024-06-10 21:02:02       33 阅读
  8. 举例自然语言处理(NLP)技术

    2024-06-10 21:02:02       29 阅读
  9. 举例自然语言处理(NLP)技术

    2024-06-10 21:02:02       23 阅读
  10. 举例自然语言处理(NLP)技术

    2024-06-10 21:02:02       20 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-10 21:02:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-10 21:02:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-10 21:02:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-10 21:02:02       18 阅读

热门阅读

  1. C#--使用CMake构建C++程序调用示例

    2024-06-10 21:02:02       13 阅读
  2. ubuntu20.04 升级(卸载安装)NVIDIA 驱动程序

    2024-06-10 21:02:02       11 阅读
  3. 硬件工程师学习规划

    2024-06-10 21:02:02       12 阅读
  4. BGP选路规则

    2024-06-10 21:02:02       11 阅读
  5. EntitiesSample_9. CrossQuery

    2024-06-10 21:02:02       12 阅读
  6. PostgreSQL:在CASE WHEN语句中使用SELECT语句

    2024-06-10 21:02:02       13 阅读
  7. fastapi实例

    2024-06-10 21:02:02       12 阅读