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

【备战春招】第6天 数据的存储 C语言中的数据的存储与类型转换

标签:
嵌入式

课程信息


  • 课程名称:物联网/嵌入式工程师

  • 章节名: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 低


学习心得


之前很多稀奇古怪的看似不合常理的输出,其实都有内部逻辑的,通过这两节的学习,哈哈,找到了内部的逻辑。


课程截图


图片描述


点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消