当前位置: 首页 > news >正文

广州汽车网站建设什么是网络营销环境的外部因素

广州汽车网站建设,什么是网络营销环境的外部因素,网站安全检测报告,网站如何进行品牌建设数据在内存中的存储 1.数据类型介绍1.1类型的基本归类:整形家族浮点数家族构造类型指针类型空类型 2.整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍为什么有大端和小端: 我们今天来学习数据在内存中的存储 1.数据类型介绍 前面我们已经学习了基…

数据在内存中的存储

  • 1.数据类型介绍
    • 1.1类型的基本归类:
      • 整形家族
      • 浮点数家族
      • 构造类型
      • 指针类型
      • 空类型
  • 2.整形在内存中的存储
    • 2.1 原码、反码、补码
    • 2.2 大小端介绍
      • 为什么有大端和小端:

我们今天来学习数据在内存中的存储

1.数据类型介绍

前面我们已经学习了基本的内置类型:

char //字符数据类型 1个字节

short //短整型 2个字节

int //整形 4个字节

long //长整型 4/8个字节
C语言规定sizeof(long)>sizeof(int) 4/8没规定

long long //更长的整形 8个字节

float //单精度浮点数 4个字节

double //双精度浮点数 8个字节

1.1类型的基本归类:

整形家族

charunsigned char       signed char
shortunsigned short      signed short
int unsigned int        signed int
longunsigned long       signed long

对于整形家族的类型来说,有有符号和无符号的区分
简易的来说:
我们的有符号(signed)是包含了正数以及负数,而我们在定义int时,一般是省略了前面的signed,C语言里面signed int = int;
我们的无符号(unsigned)是不包含负数的,他不等价于我们所说的int

我们再从内存的角度来看signed和unsigned的区分:
我们举例char来讲signed和unsigned的区分

请添加图片描述
char为一个字节,也就是8个比特位,当它是signed的时候,8个比特位的第一位将是一个符号位,符号位规定(1表示为负数,0表示为正数);当是unsigned的时候,8个比特位都是数值位。
数值位的不同同时也造成了两个类型的范围不一样
请添加图片描述

即unsigned char的范围为-128~127
signed char的范围为0~255

同理我们signed short和unsigned short的范围:

signed short : -32768~32767
unsigned short : 0~65535

为什么字符(char)会归类到我们的整型家庭呢?
因为字符存储的时候,存储的是ASCII码值,是整形,所以归类的时候放在整形家族

浮点数家族

float
double

构造类型

数组类型
结构体类型 struct
枚举类型 enum
联合类型 union

这几个类型都是我们自己将其创建,都是自定义类型

指针类型

在这里插入图片描述

空类型

void 表示空类型(无类型)
通常应用于函数的返回类型,函数的参数

2.整形在内存中的存储

一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的。
那接下来我们谈谈数据在所开辟内存中到底是如何存储的?
比如:
int a = 20;
int b = -10;
我们知道为 a 分配四个字节的空间。
那如何存储?
我们来先了解下面的这个概念:

2.1 原码、反码、补码

计算机中的整数有三种2进制表示方法,即原码、反码和补码。
三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位
正数的原、反、补码都相同。
负整数的三种表示方法各不相同。

原码
直接将数值按照正负数的形式翻译成二进制就可以得到原码。
反码
将原码的符号位不变,其他位依次按位取反就可以得到反码。
补码
反码+1就得到补码。

一个字节为8bit,一个整形就是4个字节也就是32比特位
在这里插入图片描述
原码、反码、补码知识在计算机领域特别涉及,在课程计算机网络或者计算机组成原理中为必须知道的知识

对于整形来说:数据存放内存中其实存放的是补码。
为什么呢?
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统
一处理;
同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程
是相同的,不需要额外的硬件电路。
我们的数值在计算机中本质上都是用2进制来存储的,但在vs上为了方便展示,显示的是16进制
请添加图片描述
请添加图片描述

2.2 大小端介绍

什么是大端小端:
大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中;
小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中。
请添加图片描述

为什么有大端和小端:

为什么会有大小端模式之分呢?
这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8 bit。但是在C语言中除了8 bit的char之外,还有16 bit的short型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。
因此就导致了大端存储模式和小端存储模式。

例如:一个 16bit 的 short 型 x ,在内存中的地址为 0x0010 , x 的值为 0x1122 ,那么 0x11 为高字节, 0x22 为低字节。对于大端模式,就将 0x11 放在低地址中,即 0x0010 中, 0x22 放在高地址中,即 0x0011 中。小端模式,刚好相反。
我们常用的 X86 结构是小端模式,而 KEIL C51 则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。

如何写一个程序来判断大端小端呢?
请添加图片描述
int 型是4个字节,char型是1个字节,我们取a的地址然后强转成char类型的指针,我们char类型指针接受的就是那个int的第一个字节的地址,我们就可以通过第一个字节的内容来判断大端小端

http://www.15wanjia.com/news/165454.html

相关文章:

  • 建网站 考虑wordpress暂停网站
  • 网站域名区别h5商城网站开发
  • 网站标签怎么做跳转游戏seo推广
  • 门户网站设计方案做游戏评论注册国外网站
  • 商城网站建设需求大连建设工程信息网登陆
  • 网站设计和营销网站做直播
  • 怎样建立自己手机网站台州高端网站设计
  • 免费网站推荐软件泰安网络推广 网站建设 网站优化
  • 网站外链怎么购买做产品宣传网站多少钱
  • 网站开发合同模板寿光哪里做网站
  • 自己做的网站本地虚拟上传大学网站模板下载
  • 58这样网站怎么做如何写网站开发需求
  • 网站开发的问题c语言网页编辑器
  • 做微商必会的软件网站网站建设专业是干什么的
  • 模板网站和插件wordpress评论框xss
  • 做网站卖广告位赚钱哈尔滨公司网站
  • 岳阳建网站做外贸那里发广告网站
  • 12380网站建设情况说明WordPress会员注册管理
  • 做网站寄生虫需要哪些东西帝国cms的手机网站
  • 给我做网站的人老是给我留点尾巴百度趋势搜索大数据
  • 购物网站建设规划论文网站优化排名易下拉软件
  • 网站优化长沙网站代理最快最干净
  • 做推广什么网站便宜wordpress影视主题下载
  • 做竞价的网站asp.net学校网站整站系统源码
  • 正常成都建设网站佛山小程序开发定制
  • 做logo去哪个网站金泉网做网站多少钱
  • 会泽网站建设杭州市建设局网站
  • 赵县住房和城乡建设局网站wordpress手机文章
  • 做电商一件代发的网站织梦模板安装到wordpress
  • 郴州网站建设案例广州 电商网站建设