【学习打卡】第8天 物联网/嵌入式工程师学习笔记8
课程信息
- 课程名称:物联网/嵌入式工程师
- 章节名和曾:第1周之C语言中的数据的存储与类型转换
- 讲师姓名:大白老师
课程内容概述
1. 数据在内存中的存储
1.1 有符号和无符号
- signed 有符号数,可省略
- unsigned 无符号数,不可省略
signed char a ; //char a;
unsinged char b;
signed int c; //int c;
unsinged int d;
1.2 超出范围数据的计算方法
计算机中存储的是数据的补码,如果位数超过限长,会将低位的保留,自动去除高位的数据。
所以因为此会出现比较有趣的事情。
如:
#include <stdio.h>
int main()
{
char a = 200;
printf("a = %d\n",a); //-56
return 0;
}
或
#include <stdio.h>
int main()
{
unsigned char b = 280;
printf("b = %d\n",b); //24
return 0;
}
2. 强制类型转换
2.1 含义
强转类型: 采用某方方式将某种数据类型强制转换位我们需要的数据类型.
注:强转只是临时强转,本身的数据类型没有改变。
2.2 显示强转
格式: (需要强制的数类型)变量名
2.3 隐式强转
若是用户使用运算符两边的类型不匹配,并且用户没有显示的指定匹配那种类型。系统会默认触发隐式的强转,强转规则如下:
double ←←←←←←float 高
↑
↑
long
↑
↑
unsigned
↑
↑
int ←←←←←← char,short 低
学习心得
之前很多稀奇古怪的看似不合常理的输出,其实都有内部逻辑的,通过这两节的学习,哈哈,找到了内部的逻辑。
课程截图
1. 有符号和无符号
2. 超出范围数据的计算方法
3. 数据类型的强制转换
4. 隐式强制转换
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦