C/C++教程

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

本文主要是介绍【备战春招】第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 低


学习心得


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


课程截图


图片描述


这篇关于【备战春招】第6天 数据的存储 C语言中的数据的存储与类型转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!