☰
6.c语言基础-数据在内存中的存储、强制类型转换
2026/10/14 18:59:03 网站建设 项目流程

一.数据在内存中的存储

1.c语言中的数据基础

2.有符号数和无符号数

  • 有符号数:signed(正数、0、负数)

  • 无符号数:unsigned(正数、0)

3.8bit是你的存储

char ,有符号类型,在内存中占1个字节。 可以表示负数,0,正数。表示的数据范围[-128~127]

unsigned char ,无符号类型,在内存中占1个字节。可以表示0,正数。表示的数据范围[0~255]

  • 原码、反码、补码

无符号类型的数:

原码、反码、补码都相同。

有符号类型的负数:

原码符号位不变其他位取反得到反码 反码加一得到补码补码

  • 超出范围数据的计算方法

先计算整数的补码(=右边的数)

把补码赋值给变量,然后观察变量的数据类型,

若是为unsinged char类型,一定为正数或0,原,反,补一样.%d输出的原码就是补码,直接转换为元素输出即可。

若是为char类型,观察变量内存存储数据的最高位,1 表示为负数,%d输出需要转换为原码输出.

二.强制类型转换

1.强制类型转换的含义

强转类型: 采用某种方式将某种数据类型强制转换为我们需要的数据类型.

注:强转只是临时强转,本身的数据类型没有改变。

2.显式转换

格式: (数据类型)变量名

float pi = 3.1415926;

// 把pi强制转换为int类型,并赋值给变量num

int num =(int)pi;

// 强转只是临时强转,本身的数据类型没有改变

3.隐式转换

若运算符两边的类型不匹配,并且没有进行显示指定类型。系统会默认触发隐式的强转,强转规则如下:


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询