理解这道题目,能很好帮助我们理解整型提升与截断 :

下面程序的输出结果是:

题目解析 :

所以第一个 a+b 以 %d形式打印结果为300

第二个 unsigned char c 以 %d形式打印结果为 44

#include <stdio.h>
int main()
{unsigned char a = 200;unsigned char b = 100;unsigned char c = 0;//unsigned 无符号类型 存储的值是0-255 //200//00000000000000000000000011001000//100//00000000000000000000000001100100//char 存进去时候发生整形截断 存的是后8个bit位//计算时候发生整型提升 //00000000000000000000000011001000//00000000000000000000000001100100//c//00000000000000000000000100101100c = a + b;printf("%d %d", a + b, c);// %d 的意思是 以有符号的类型打印 a+b 就是300// c存进去发生截断,存的是后半个bit位 00101100// 打印时候提升 因为是无符号类型 直接补0//有符号类型补的是符号位//c//000000000000000000000000000101100return 0;
}

题解完毕 ~

一道关于整型提升/截断的经典练习题相关推荐

  1. 一文搞明白整型提升,截断等相关概念【C语言】

    首先看一道题目: 如下程序输出的结果是: int main() {char a = 0xb6;short b = 0xb600;int c = 0xb6000000;if(a==0xb6)printf ...

  2. C语言——整型的截断与提升

    在C中有各样的数据类型,当不同的数据类型放在一起进行处理时,总会有一个"标准"来要求不同的数据进行相同的处理从而完成任务,本文主要分享C中的一种法则:截断与提升,我们举个栗子: # ...

  3. C语言中的截断与整型提升

    C语言中的截断与整型提升 我们首先来看一段代码: #include<stdio.h> #include<stdlib.h> union Un//--联合体 { char c;i ...

  4. C语言操作符详解 隐式类型转换 (整型提升 算数转换)

    目录 一.算术操作符 二.左移操作符 右移操作符 1.二进制序列 2.左移操作符 3.右移操作符 3.1.逻辑运算/算术运算 3.2.对于移位运算符,不要移动负数位,这是标准未定义的 3.3.对于移位 ...

  5. 隐式类型转换和整型提升

    c整型中的运算总是至少以缺省整型类型的精度来进行的,所以当字符型或者短整型在进行运算时为了获得这个精度,先要提升成普通整型,再运算. 例: char a=127; char b=1; char ret ...

  6. 类型转换:隐式转化(算数转换,整型提升,混合提升,赋值转换),强制转换【C语言】

    类型转换 隐式转化 算数转换 整型提升 混合提升 赋值转换 强制转换 编译器使用注意 小结 类型转换 隐式转化 不需要人为参与而产生的默认转称为隐式转化. 隐式转化,是计算机语言实现层面最难的,指针是 ...

  7. 隐式类型转换——C语言中的整型提升

    整型提升概念: C语言中的整型算术运算总是至少以缺省整型类型的精度来进行的. 为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升. 整型提升的意义 三点说明 ...

  8. 【C语言】整型提升 - 关于short短整型和char字符型的运算

    前言 C的整型算术运算总是至少以缺省整型类型,也就是默认整形类型的精度来进行的.为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升. 何为整型提升 - 整形 ...

  9. c语言整形提升规则,C语言进阶:整型提升

    几乎每个程序员都学过C,而且大多数在他们的工作中使用C.很显然C是TIOBE(2012年11月时排榜首)上最流程的编程语言之一.然而,有时,C的行为会让人意外和困惑.其中一个例子就是**整型提升**. ...

最新文章

  1. linux下查看emmc读写次数,通过串口命令查看EMMC擦写次数的三大方法
  2. sql查询,nolock写还是不写,这是一个问题
  3. python 短进程优先算法_黄哥Python:图深度优先算法(dfs)
  4. 一张小票看透支付清结算架构
  5. 征战蓝桥 —— 2017年第八届 —— C/C++A组第9题——分巧克力
  6. UCMap移动GIS 时空地图GIS
  7. 客户端 获取服务器性能,客户端数量 服务器性能
  8. Bootstrap3 表格的情景类
  9. 教你动手做一个 iOS 越狱 app
  10. wildfly10 配置mysql_WildFly配置MySql驅動
  11. 如何把Spring Boot 项目变成一个XML配置的Spring项目
  12. 不要把Linux和Windows比较
  13. NOIP模拟题——tractor
  14. 十分钟理解Actor模式
  15. 两个线性空间的可逆线性映射
  16. linux+qq+输入法下载,QQ拼音输入法下载
  17. (PTA)java基础编程题汇总
  18. 在vue中简单使用Luckysheet
  19. 利用SMB协议共享电脑文件,发挥ipad生产力
  20. 360杀毒软件无视宏病毒!

热门文章

  1. celery源码分析-wroker初始化分析(上)
  2. 数据统计之日增用户统计
  3. 图形化客户端Navicat介绍和使用
  4. 小甲鱼-累加数据段中的前3个字型数据【不对的话,请指教!】
  5. 汇编语言 第3版 王爽 检测点习题部分—答案及详细解析 检测点2.3
  6. 在C++平台上部署PyTorch模型流程+踩坑实录
  7. 我竟然用OpenCV实现了卡尔曼滤波
  8. Java String.format() : 字符串格式化
  9. DNS解析过程详解【转】
  10. PHP超时处理全面总结