栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据的存储

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据的存储

数据类型的介绍:

基本的内置类型
char        //字符数据类型
short       //短整型
int         //整形
long        //长整型
long long   //更长的整形
float       //单精度浮点数
double      //双精度浮点数
类型的意义: 1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。 2. 如何看待内存空间的视角。 整型家族:
char
 unsigned char//0-255
 signed char//-128--127
short
 unsigned short [int]
 signed short [int]
int
 unsigned int
 signed int
long
 unsigned long [int]
 signed long [int]

加了中括号的代表可以省略,有符号的整型也可以省略。

 

 

浮点数家族:

float double 构造类型:
数组类型 > 结构体类型 struct > 枚举类型 enum > 联合类型 union

 指针类型:

int *pi;
char *pc;
float* pf;
void* pv;

整型在数据中的存储: 需要了解原码,反码,补码。

原码、反码、补码 计算机中的有符号数有三种表示方法,即原码、反码和补码。 三种表示方法均有 符号位 和 数值位 两部分,符号位都是用 0 表示 “ 正 ” ,用 1 表示 “ 负 ” ,而数值位 三种表示方法各不相同。 原码 直接将二进制按照正负数的形式翻译成二进制就可以。 反码 将原码的符号位不变,其他位依次按位取反就可以得到了。 补码 反码 +1 就得到补码。 正数的原、反、补码都相同。 对于整形来说:数据存放内存中其实存放的是补码。 举个例子如下:

 

一道例题:

 

 

 

发生整型提升,会按照符号位补全32个比特位。 

 

 

i小于255恒成立,所以是死循环。 

 

 

 

 

设计一个小程序来判断当前机器的字节序(大小端) 

 

#include 
int check_sys()
{
 int i = 1;
 return (*(char *)&i);
}
int main()
{
 int ret = check_sys();
 if(ret == 1)
 {
 printf("小端n");
 }
 else
 {
 printf("大端n");
 }
 return 0; }

把整型的指针强制转换为字符的指针,只访问一个字节。

函数没有接收返回值,就算你给他值也不做任何的回应。 

浮点数的存储:

 

 

 

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/718826.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号