为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第8天 物联网/嵌入式工程师学习笔记8

标签:
C C++

【学习打卡】第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 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消