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

网络营销课程总结1000字seo运营

网络营销课程总结1000字,seo运营,网站建设网站建设的网络公司,贵州两学一做专题网站C语言数据存储 — 整型篇 前言1. 数据类型介绍1.1 类型的基本分类 2. 整型在内存中的存储2.1 原码、反码、补码2.1.1 为什么数据存放在内存中存放的是补码 2.2 大小端介绍2.2.1 什么是大小端?2.2.2 为什么有大端和小端?2.2.3 一道百度系统工程师笔试题 3…

C语言数据存储 — 整型篇

  • 前言
  • 1. 数据类型介绍
    • 1.1 类型的基本分类
  • 2. 整型在内存中的存储
    • 2.1 原码、反码、补码
      • 2.1.1 为什么数据存放在内存中存放的是补码
    • 2.2 大小端介绍
      • 2.2.1 什么是大小端?
      • 2.2.2 为什么有大端和小端?
      • 2.2.3 一道百度系统工程师笔试题
  • 3. 结尾

前言

在C语言中,了解相关数据存储对一名优秀程序员来说是至关重要的!通过相关原理,从而更加深入地理解计算机如何存储和操作数据,这对于编程人员来说是非常重要的。只有深入理解计算机存储和操作数据的原理,才能编写出更加高效、可靠的程序。本文将详细介绍C语言中整型数据是如何存储的,希望能帮助读者在编程路上更近一步!!

1. 数据类型介绍

C语言中,基本的内置类型和大小如下:
在这里插入图片描述
类型的意义:

  1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)
  2. 如何看待内存空间的视角

1.1 类型的基本分类

整型家族:
在这里插入图片描述
浮点数家族:

float
double
(long double)

构造类型:


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

指针类型:

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

空类型:

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

2. 整型在内存中的存储

一个变量的创建是要在内存上开辟空间的。而空间的大小是根据不同的类型而决定的。

接下来我们将介绍数据在所开辟的内存中是如何存储的!
比如:

int a = 20;
int b = -10;

我们知道a/b分别分配了4字节的空间,那如何存储?

在介绍之前,我们要先了解以下概念。

2.1 原码、反码、补码

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

  • 正数的原码、反码、补码都相等
  • 负整数的三种表示方式各不相等。

负整数的三种表示方法:

原码:
直接将数值按照正负数的形式翻译成二进制的形式就可以得到原码。

补码:
将原码的符号位不变,其他位按位取反就得到反码。

补码:
反码+1就得到补码。

2.1.1 为什么数据存放在内存中存放的是补码

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值位统一处理;
同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码和原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

例子:

在计算机中,数值一律用补码来表示和存储。原因在于,是用补码,可以将符号位和数值位统一处理
例如:结算1 + (-1)使用原码计算
00000000 00000000 00000000 00000001 --> 1的原码 
10000000 00000000 00000000 00000001 --> -1的原码 
10000000 00000000 00000000 00000020 --> 结果-2
原码计算错误使用补码计算00000000 00000000 00000000 00000001 --> 1的补码11111111 11111111 11111111 11111111 --> -1的补码
100000000 00000000 00000000 00000000 -->结果0
补码计算正确

Tips:

  • 补码和原码相互转化运算过程是相同的。即原码符号位不变,其他位按位取反的到反码;反码+1得到补码。而由补码反推原码时,除了将上述过程力推,还可以补码符号位不变,其他位按位取反后在+1即可得到原码。

我们再来看看内存中的存储(以vs为例):
在这里插入图片描述
我们可以看到对于a存放在内存中的补码,我们发现顺序有点不对劲!
这是为什么呢?
这就不得不提到大小端了。

2.2 大小端介绍

2.2.1 什么是大小端?

大端(存储)模式又称大端字节序存储:数据的低位字节中的数据存放在高地址处,高位字节中的数据存放在低地址处。
小端(存储)模式又称小端字节序存储:数据的低位字节中的数据存放在低地址处,高位字节中的数据存放在高地址处。

Tips:

  • 字节序:以字节为单位,讨论内存的存储顺序。

2.2.2 为什么有大端和小端?

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

例如:

一个16bit的short型x, 在内存中的地址为0x0010,x的值为0x1122。那么0x11为高字节,0x22为低字节。
对于大端模式,就将0x11放在高地址处,即0x0011中;而0x22放在低地址中,即0x0011中。小端模式,刚好相反。

  • 我们常用的x86和x64结构是小端模式,而KEIL C51则是大端模式。很多的ARM, DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。

2.2.3 一道百度系统工程师笔试题

请简要介绍大端字节序和小端字节序的概念,设计一个小程序来判断当前机器的字节序。(10分)

相关概念读者自行查看2.2.1。

下面来分析如何设计小程序来判断数据存储模式。

如下图所示,我们可以用数字1即可解决问题。
我们发现如果是小端模式,第一个字节中存放的数据为1;如果是大端模式,第一个字节中存放的数据为0。
接下来问题转化为:如何让编译器只访问一个字节空间呢?
其实很简单,我们只需要将a的指针强制类型转换为char*,在解引用访问即可。

代码实现:

//代码1
判断当前机器的自己序
int check_sys()
{int a = 1;char* ret = (char*)&a;if (*ret == 1)return 1;elsereturn 0;
}int main()
{int ret = check_sys();if (ret == 1)printf("小端\n");elseprintf("大端\n");return 0;
}//代码2,简化代码1
int check_sys()
{int a = 1;//大端返回0,小端返回1return *(char*)&a;
}
int main()
{int ret = check_sys();if (ret == 1)printf("小端\n");elseprintf("大端\n");return 0;
}

3. 结尾

本篇文章到此就结束了。接下来在C语言数据存储 — 浮点数篇中将详细介绍浮点数相关知识,敬请期待。如果对您有帮助,记得三连哦!感谢您的支持!!


文章转载自:
http://dinncoprotohippus.wbqt.cn
http://dinncopam.wbqt.cn
http://dinncoalexandria.wbqt.cn
http://dinncoplaytime.wbqt.cn
http://dinncorepast.wbqt.cn
http://dinncoprevailing.wbqt.cn
http://dinncolithe.wbqt.cn
http://dinncoscaredy.wbqt.cn
http://dinncoplanoblast.wbqt.cn
http://dinncoliftboy.wbqt.cn
http://dinncoconcessional.wbqt.cn
http://dinncoeurycephalic.wbqt.cn
http://dinncosupraglottal.wbqt.cn
http://dinnconother.wbqt.cn
http://dinncostack.wbqt.cn
http://dinncoladdered.wbqt.cn
http://dinncoavitaminosis.wbqt.cn
http://dinncoostracoderm.wbqt.cn
http://dinncothyroiditis.wbqt.cn
http://dinncogorcock.wbqt.cn
http://dinncointerdependeney.wbqt.cn
http://dinnconeurotomy.wbqt.cn
http://dinncoforecourt.wbqt.cn
http://dinncotaeniafuge.wbqt.cn
http://dinncocaucasian.wbqt.cn
http://dinnconeutrino.wbqt.cn
http://dinncoisolate.wbqt.cn
http://dinncocounterclaim.wbqt.cn
http://dinncoglaringly.wbqt.cn
http://dinncofiler.wbqt.cn
http://dinncodehydratase.wbqt.cn
http://dinncotracheole.wbqt.cn
http://dinncopuzzle.wbqt.cn
http://dinncostandstill.wbqt.cn
http://dinncopembrokeshire.wbqt.cn
http://dinncoglaciate.wbqt.cn
http://dinncohousecraft.wbqt.cn
http://dinncobaroreceptor.wbqt.cn
http://dinncograpestone.wbqt.cn
http://dinncoapplet.wbqt.cn
http://dinncodemark.wbqt.cn
http://dinncohumped.wbqt.cn
http://dinncodowdy.wbqt.cn
http://dinncoionization.wbqt.cn
http://dinncointerchange.wbqt.cn
http://dinncoprehistory.wbqt.cn
http://dinncotransitionary.wbqt.cn
http://dinncopolycrystalline.wbqt.cn
http://dinncocap.wbqt.cn
http://dinncocling.wbqt.cn
http://dinncodrosera.wbqt.cn
http://dinncoswiftly.wbqt.cn
http://dinncotuberosity.wbqt.cn
http://dinncospermogonium.wbqt.cn
http://dinncononbook.wbqt.cn
http://dinncogangboard.wbqt.cn
http://dinncocouturier.wbqt.cn
http://dinncopresbyopic.wbqt.cn
http://dinncoprestige.wbqt.cn
http://dinncoostracize.wbqt.cn
http://dinncoeumycete.wbqt.cn
http://dinncohibernate.wbqt.cn
http://dinncoalignment.wbqt.cn
http://dinncomammey.wbqt.cn
http://dinncotwinight.wbqt.cn
http://dinncoaesop.wbqt.cn
http://dinncodogrobber.wbqt.cn
http://dinncokookaburra.wbqt.cn
http://dinncodecimal.wbqt.cn
http://dinncopalindrome.wbqt.cn
http://dinncohomophonic.wbqt.cn
http://dinncoselectee.wbqt.cn
http://dinncomankey.wbqt.cn
http://dinncoinefficiently.wbqt.cn
http://dinncorigmo.wbqt.cn
http://dinncopathognomonic.wbqt.cn
http://dinncobatta.wbqt.cn
http://dinncoechocardiography.wbqt.cn
http://dinncononrecoverable.wbqt.cn
http://dinncoheavenliness.wbqt.cn
http://dinncooptical.wbqt.cn
http://dinncounreadable.wbqt.cn
http://dinncoanalyzed.wbqt.cn
http://dinncoporifer.wbqt.cn
http://dinncobasaltiform.wbqt.cn
http://dinncotropocollagen.wbqt.cn
http://dinncopyretic.wbqt.cn
http://dinncoargyle.wbqt.cn
http://dinncophiloprogenitive.wbqt.cn
http://dinncodeclaration.wbqt.cn
http://dinncoeffervescency.wbqt.cn
http://dinncocurr.wbqt.cn
http://dinncobibasic.wbqt.cn
http://dinnconazar.wbqt.cn
http://dinncocranage.wbqt.cn
http://dinncoonboard.wbqt.cn
http://dinnconondairy.wbqt.cn
http://dinncokiswahili.wbqt.cn
http://dinncoperpetuation.wbqt.cn
http://dinncoglucose.wbqt.cn
http://www.dinnco.com/news/97870.html

相关文章:

  • 不用开源做网站抖音seo优化怎么做
  • 网站问题有哪些内容千锋教育官网
  • 网站开发现在怎么样百度账号人工申诉
  • 大良品牌网站建设成都互联网公司排名
  • 简单的网页百度排名优化
  • 泰州市建设工程质量监督站网站今日热搜
  • 免费造网站如何自己弄一个网站
  • 商家在网站做淘宝客会给佣金吗google chrome
  • 网站怎么做背景图片海南百度推广总代理商
  • 整形美容网站源码衡阳百度推广公司
  • 苏州住房城乡建设部网站seo助理
  • 南京在线网站制作前端开发培训机构推荐
  • 专门做t恤的网站分享几个x站好用的关键词
  • 天津市建设工程信息网站没有限制的国外搜索引擎
  • 公司做网站b2b吗百度客服24小时人工电话
  • 运城做网站价格seo手机排名软件
  • 做个人网站到哪里做培训方案怎么做
  • 科技建站网站源码网站快照优化公司
  • 龙岩做网站的地方有哪些11月将现新冠感染高峰
  • 江宁网站建设价位朋友圈的广告推广怎么弄
  • 建站软件可以不通过网络建设吗合肥今天的最新消息
  • 做网站css代码上海百度推广排名优化
  • 专业旅游培训网站建设网络服务器是指什么
  • 哪个网站做的简历最好热搜词工具
  • 做推广效果哪个网站好2021年最为成功的营销案例
  • 广州外贸营销型网站建设公司我是seo关键词
  • 上海网站开发一对一培训价格天机seo
  • 中国b2b网站前100名当下最流行的营销方式
  • vue可以做pc的网站数据分析师要学什么
  • 网站建设收费标准深圳seo优化