首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言--数据存储

目录 1、数据类型介绍 1.1、类型的基本归类 2、整形在内存中的存储 2.1、原码、反码、补码 2.2 大小端 2.3 练习题 3....、浮点型在内存中的存储 3.1 一个例子 3.2 浮点数存储规则 ---- 1.数据类型介绍 基本的内置类型: char   字符数据类型                                                                                                                         ...原来,在计算机中,内存存储数据,采用的是字节序的大小端存储模式。 什么是大小端?...大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中。...我们常用的 X86 结构是小端模式,而 KEIL C51 则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。 2.3 练习题 3.

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言详解(数据存储

    1、大小端字节序和字节序判断 在 C语言(操作符)1 中,我们介绍了整数在内存中的存储,但是我们只介绍了整数的存储形式,并没有介绍整数是如何存储的,那本节我们就来探讨一下整数在内存中究竟是怎么存储的...当我们想把0x11223344这个数存到一个整型变量a中时,因为整型数据的大小是4个字节,以字节为单位存储,那么11占一个字节,22占一个字节,33占一个字节,44占一个字节,假设从低地址向高地址存储,...其实超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储。...既然如此,我们只需要将这个整型变量最小字节中的数据拿出来,看这个最小字节单元中存的数是0还是1,如果是0就是大端字节序存储,反之则为小端字节序存储。...(其实我们在C语言(操作符)2中的表达式求值部分已经学习过)我们来分析一下: 我们想将整数-1存入一个字符型变量a中,整型和字符型不兼容,通过C语言(操作符)2的学习我们知道要发生截断,

    7910

    C语言之数据存储

    C语言中数据在内存中的存储 文章目录 C语言中数据在内存中的存储 1.数据类型的介绍 2.整形在内存中的存储 2.1原码,反码,补码 2.2大小端字节序 2.3试题练习 3.浮点数在内存中的存储...3.1.浮点数在计算机内部的表示方法 3.2.浮点数的存储规则 3.3.一个练习题 写在最后 1.数据类型的介绍 C语言中具体由哪些数据结构: ps: 1.这里需要提醒大家的就是其实char也是整形家族的...---- 2.整形在内存中的存储 我们知道一个变量的创建是要在内存中开辟空间的,空间的大小是根据不同的类型决定的。那我们接下来谈谈数据在所开辟的内存中到底是如何存储的。...大小端指的是数据以字节为单位在内存中的存储顺序。 大端存储模式:把数据的低位保存在内存中的高地址中,而数据的高位保存在内存的低地址中。...C语言标准规定: 1.当一个数超过该类型数据所能存储的最大值就发生截断。如八个比特位的char存储32个比特位的int时只存储最后面的八个比特位。

    1.5K00

    C语言】数据存储

    一、整形在内存中的存储 1....对于整形来说:数据存放内存中其实存放的是补码;在计算时,需要将整数的原码表示出来,若是正数,原反补相同,即可计算;若是负数,需将负数的原码表示出来,再转换为补码,再进行计算,计算完的数值仍然是补码,还需转换为原码才是最后的结果...大小端的存储模式 大端(存储)模式:是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; eg:0x11223344 小端(存储)模式:是指数据的低位保存在内存的低地址中,而数据的高位...-1; printf("a=%d,b=%d,c=%d",a,b,c); return 0; } 分析: 10000000 00000000 00000000 00000001...= 9.0时,9.0以浮点数的存储模式存到内存中,当以%d的形式打印时,会以整型数的解读方式解读9.0浮点数存储模式的二进制,所以是结果是1,091,567,616 int main()

    13810

    C语言——数据存储

    目录 数据类型介绍 整型家族 浮点数家族:  构造类型:  指针类型 空类型 原码 反码 补码 大小端介绍 大端小端 数据类型介绍 相信大家应该已经了解了基本的数据类型吧 整型家族 char 为什么归根到...因为:char虽然是字符类型,但是字符类型储存的时候,存储的字符的ascii码值 ascii值是整数。...有正负的数据可以存放在有符号的变量中 只有正数的数据可以存放在无符号的变量中 浮点数家族:  构造类型:  指针类型 空类型 原码 反码 补码 计算机中的整数有三种表示方法,即原码、反码和补码...反码:将原码的的符号位不变,其他位依次取反就可以得到了 补码:反码加一就是补码 对于整数来说,数据存放内存中其实存放的是补码 大小端介绍 大端小端 大端(存储)模式,是指数据的低位保存在内存的高地址中...,而数据的高位,保存在内存的低地址 中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地 址中

    1.4K10

    C语言】探索数据存储(上篇)

    -- 文章目录 @[toc] ✍前言 数据类型 数据类型的基本分类 整形在内存中的存储 原码、反码、补码 大小端介绍 练习 结语 ✍前言 HelloHello,大家好,今天我们来一起来探索数据存储问题...数据存储这块内容还是有点难度的。但是学起来是真的有趣,让我们一起来看一看把!...整形在内存中的存储 计算机中的整数有三种2进制表示方法,即原码、反码和补码 我们之前讲过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的。那数据在所开辟内存中到底是如何存储的?...大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。...("a=%d,b=%d,c=%d",a,b,c); return 0; } 想想为什么?

    64130

    C语言进阶(一)---数据存储

    一、数据类型详细介绍 1.c语言的基本内置类型 (c语言本身就具有的类型,我们可以直接拿来使用) ? c语言的类型: 1.内置类型 2. 自定义类型(构造类型) ?...接下来重点解释整型和浮点型在内存中的存储 二、整型在内存中的存储   一个变量的创建是要在内存中开辟空间的,空间的大小是根据不同的类型决定的。 1. 数据在所开辟内存中是如何储存的呢?...通过调试,我们得知了a,b在内存中存储的内容,那么a,b是如何转换成这样的数据呢? ? 将a,b进行二进制转换,内存中存储的是补码,计算a,b的补码 ?   ...) 整型只能存储32bit位,前面的1舍去 c是一个整型,只能存32个bit位,所以补码就为全0 c的结果为0;结果正确!!!...博客入口:C语言进阶(二)— 整型存放练习   好了,到此我们就知道了整型在内存中是如何存储的,那么浮点型的数据在内存中是如何存储的? 三、浮点型在内存中的存储 1.浮点数表示的形式 ?

    2.1K20

    C数据在内存中的存储

    一、整数在内存中的存储 关于整数在内存中的存储,前面或多或少都涉及过了。 关于整型在内存中存储数据存放在内存中实际上存放的就是二进制的补码。...关于原码,反码,补码,这里就不过多赘述了,想了解的可以看看这篇文章 C:操作符介绍-学习笔记-CSDN博客 为什么整型存放在数据中存放的是补码呢? 在计算机系统中,数值⼀律⽤补码来表⽰和存储。...但是对比上面提到的三种存放方式,正序存放和逆序存放相对与乱序存放会更加容易理解,因此存放数据就分为主流的两种,正序存放和逆序存放 正序存放又叫大端字节序存储,逆序存放又叫小端字节序存储 0x11223344...小端字节序存储:(44 33 22 11) 一个数据的低位字节的数据存放在内存的低地址处,高位字节的数据,存放在内存的高位地址。...大端字节序存储:(11 22 33 44) 一个数据的低位字节的数据存放在内存的高地址处,高位字节的数据,存放在内存的低地址处。

    7210

    C语言】探索数据存储(下篇)

    ✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 感谢您的点赞与关注,同时欢迎各位有空来访我的平凡舍 --...-- 大家好呀,前面我们了解了数据类型,数据类型的基本分类以及整型在内存中的存储还有了大小端的存储。...现在我们来开始进入今天的重要内容:《 浮点型在内存中的存储》。下面让我们来一探究竟,浮点型在内存中是如何存储的。...下面我们一起来看看是怎么存储的 浮点数存储规则 详细解读: 根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式: (-1)^S * M * 2E (-1)S表示符号位...pFloat = 9.0; 通过计算器计算出结果: 这也就是num的值了 我们看看最后一个值:以浮点数形式放,再以浮点数打印,结果自然是9.0000000 结语 好的,关于数据存储的内容这块内容我们到这里结束了

    54750

    C数据在内存中的存储

    本章重点 数据类型详细介绍 整形在内存中的存储:原码、反码、补码 大小端字节序介绍及判断 浮点型在内存中的存储解析 1....数据类型介绍 char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长的整形 float //单精度浮点数 double /...整形在内存中的存储 我们之前说过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的 那接下来我们谈谈数据在所开辟内存中到底是如何存储的?...,就有了存储顺序的问题,这里就规定了两种存储方式 什么大端小端: 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 小端(存储)模式,是指数据的低位保存在内存的低地址中...,而数据的高位,,保存在内存的高地址中。

    20920

    C数据存储】整型在内存中的存储(进阶版)

    2-1二进制和十六进制 数据在内存中是以2进制存储,VS在展示的时候是以16进制展示的 一个字节占8个二进制位,等价也等于2个十六进制位 调试->窗口->内存->&a如何使用vs在调试时查看内存...这也类似我们的大小端字节序 为什么有大小端字节序 由上面数据以二进制补码的形式存储在内存中,如果现有一个十六进制数0x112223344,我们知道电脑内存被划分为一个个聂村单元,每一个内存单元就是一个字节...,那么我们还得再细分这个0x11223344这个数,从字节的角度考虑这个数是怎么存储的,即是数据的每一个字节究竟是怎么存储的,这也就是大小端存储存在的理由了。...对于他我们可以以11223344存,也可以44332211这样存,甚至可以31231424这末离谱地存,我们虽然平时看不到这些数据,但是在需要查看内存的时候,为了方便阅读,普遍流行的方式就是大小端存储。..."小端"); } return 0; } 二进制+大小端=整型数据在内存中的存储 4.相关笔试题 4-1 猜一猜打印的结果 int main() { char a = -1; signed

    1.2K50

    C语言进阶:整型数据存储

    long[int] signed long[int] char : unsigned char signed char 因为char 类型的数据是通过ASCII值存储的,所以也属于整型家族 下表列出了关于标准整数类型的存储大小和值范围的细节...以下列出了32位系统与64位系统的存储大小的差别(windows 相同): 二.整型的存储 数据在内存中以2进制的形式存储,对于整数来说: 1.整数的二进制有三种表示形式:原码,反码,补码。...注意:数据都是以补码的形式存储的,计算时也是补码之间的运算,打印时按照原码打印。...三.整型提升 1.什么是整型提升: C的整型算数运算总是至少以缺省整型类型的精度来进行的。...-1; printf("a=%d,b=%d,c=%d\n",a,b,c); return 0; } 正解:a=-1,b=-1,c=255 a 和 b 很好理解,问题就是c,我们利用上面的巧记口诀

    25310

    C语言】数据在内存中的存储

    整数在内存中的存储 整数存储: 整数的二进制表示方法有三种:原码、反码和补码。...大小端字节序和字节序判断 当一个数值超过1个字节的时候,存储在内存中有存储的顺序问题,而内存的储存单元是1字节。...这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8 bit 位,但是在C语言中除了8 bit 的 char 之外,还有16 bit 的short 型,32 bit...因此就导致了大端存储模式和小端存储模式。...我们常用的 X86 结构是小端模式,而KEIL C51 则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。

    15610

    C语言】数据在内存中的存储

    ---- 前言 不同的数据在内存中的存储形式是不同的,而当我们掌握数据在内存中的存储形式之后,会帮助我们更加了解计算机深层工作原理 废话不多说,我们接下来直接进入正题 一:数据类型详细介绍 ##1....联合类型 union ##4.指针类型 1.数组指针 2.整型指针 3.字符指针 4.无类型指针 5.单精度浮点型指针 ………… ##5.空类型 void*p 这种类型指针可以接收任意的数据类型的地址...%d是打印int型的,也就是输出有符号的十进制数字,%u是打印unsigned int,也就是输出无符号的十进制整数 3.整型提升是c程序设计语言中的一项规定,在表达式进行计算时,所有的整型首先要提升为...("a=%d,b=%d,c=%d",a,b,c); return 0; } 储存: -1的补码为全1,当发生截断后存储在变量abc中的内存形式均为11111111,但打印的是int型的十进制数字...,要去读取他的原码,但c是无符号数字,所以他的原码,反码,补码相同,直接读取就OK了。

    1K20

    C语言】数据在内存中的存储

    前言 本篇博客实际上不怎么涉及到C语言的知识,但要想将C语言掌握好,还必须得总结一下, 话不多说,进入正题,让我们一起来看看数据在内存中如何存储 个人主页:小张同学zkf 若有问题 评论区见...对于整形来说:数据存放内存中其实存放的是补码。 但为什么要放补码那 在计算机系统中,数值⼀律用补码来表示和存储。...字节序——是以字节为单位,来讨论存储顺序的 其实超过一个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为大端字节序存储和小端字节序存储,下面是具体的概念: 大端(存储)...模式: 是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低地址处。...小端(存储)模式: 是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存在内存的高地址处。 2.2 为什么有大小端?

    11510

    C语言:数据在内存中的存储

    整数在内存中的存储 整数在内存中存储的是二进制 整数的2进制表⽰⽅法有三种,即原码、反码和补码 原码取反得到反码,加1得到补码。...数据存放内存中其实存放的是补码,计算也是通过补码来计算的,打印结果打印的是原码 在计算机系统中,数值⼀律⽤补码来表⽰和存储。...= -1; //%d-打印有符号的整数 //%u-打印无符号的整数 //打印的是原码 printf("a = %d b = %d c = %d", a, b, c); } c为什么是255...IEEE 754规定: 对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M?...比特就业课 对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M double练习 浮点数存的过程 IEEE 754对有效数字M和指数E,还有⼀些特别规定。

    9210

    数据在内存中的存储(c语言)

    数据类型分类 数据的类型分为整型,浮点型,构造型,指针,和空类型。...这些类型决定类型使用时开辟空间的大小和看待这一内存空间的视角 1 整形类型 这里许多人可能想问为什么char放在了整形里面;其实是因为char在存数据时以ASCII形式存储,ASCII是整数,以整形存储...对于整形来说:数据存放内存中其实存放的是补码。 这是因为在计算机系统中,数值一律用补码来表示和存储。...而c则会从1111 1111变为11111111 11111111 11111111 11111111 也就是-1,所以b=256,c=0 让我们看看在内存中的存储 我们可以看到对于...这又是因为什么 大小端 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地

    18310
    领券