一道关于整型提升/截断的经典练习题
理解这道题目,能很好帮助我们理解整型提升与截断 :
下面程序的输出结果是:
题目解析 :
所以第一个 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;
}
题解完毕 ~
一道关于整型提升/截断的经典练习题相关推荐
- 一文搞明白整型提升,截断等相关概念【C语言】
首先看一道题目: 如下程序输出的结果是: int main() {char a = 0xb6;short b = 0xb600;int c = 0xb6000000;if(a==0xb6)printf ...
- C语言——整型的截断与提升
在C中有各样的数据类型,当不同的数据类型放在一起进行处理时,总会有一个"标准"来要求不同的数据进行相同的处理从而完成任务,本文主要分享C中的一种法则:截断与提升,我们举个栗子: # ...
- C语言中的截断与整型提升
C语言中的截断与整型提升 我们首先来看一段代码: #include<stdio.h> #include<stdlib.h> union Un//--联合体 { char c;i ...
- C语言操作符详解 隐式类型转换 (整型提升 算数转换)
目录 一.算术操作符 二.左移操作符 右移操作符 1.二进制序列 2.左移操作符 3.右移操作符 3.1.逻辑运算/算术运算 3.2.对于移位运算符,不要移动负数位,这是标准未定义的 3.3.对于移位 ...
- 隐式类型转换和整型提升
c整型中的运算总是至少以缺省整型类型的精度来进行的,所以当字符型或者短整型在进行运算时为了获得这个精度,先要提升成普通整型,再运算. 例: char a=127; char b=1; char ret ...
- 类型转换:隐式转化(算数转换,整型提升,混合提升,赋值转换),强制转换【C语言】
类型转换 隐式转化 算数转换 整型提升 混合提升 赋值转换 强制转换 编译器使用注意 小结 类型转换 隐式转化 不需要人为参与而产生的默认转称为隐式转化. 隐式转化,是计算机语言实现层面最难的,指针是 ...
- 隐式类型转换——C语言中的整型提升
整型提升概念: C语言中的整型算术运算总是至少以缺省整型类型的精度来进行的. 为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升. 整型提升的意义 三点说明 ...
- 【C语言】整型提升 - 关于short短整型和char字符型的运算
前言 C的整型算术运算总是至少以缺省整型类型,也就是默认整形类型的精度来进行的.为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升. 何为整型提升 - 整形 ...
- c语言整形提升规则,C语言进阶:整型提升
几乎每个程序员都学过C,而且大多数在他们的工作中使用C.很显然C是TIOBE(2012年11月时排榜首)上最流程的编程语言之一.然而,有时,C的行为会让人意外和困惑.其中一个例子就是**整型提升**. ...
最新文章
- linux下查看emmc读写次数,通过串口命令查看EMMC擦写次数的三大方法
- sql查询,nolock写还是不写,这是一个问题
- python 短进程优先算法_黄哥Python:图深度优先算法(dfs)
- 一张小票看透支付清结算架构
- 征战蓝桥 —— 2017年第八届 —— C/C++A组第9题——分巧克力
- UCMap移动GIS 时空地图GIS
- 客户端 获取服务器性能,客户端数量 服务器性能
- Bootstrap3 表格的情景类
- 教你动手做一个 iOS 越狱 app
- wildfly10 配置mysql_WildFly配置MySql驅動
- 如何把Spring Boot 项目变成一个XML配置的Spring项目
- 不要把Linux和Windows比较
- NOIP模拟题——tractor
- 十分钟理解Actor模式
- 两个线性空间的可逆线性映射
- linux+qq+输入法下载,QQ拼音输入法下载
- (PTA)java基础编程题汇总
- 在vue中简单使用Luckysheet
- 利用SMB协议共享电脑文件,发挥ipad生产力
- 360杀毒软件无视宏病毒!