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

C语言——数据存储

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

1.4K10

C语言数据存储

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

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

C语言数据存储

signed int long unsigned long [int] signed long [int] 补充: char是signed char还是unsigned char,C语言标准并没有规定...对于整形来说:数据存放内存中其实存放是补码。 在计算机系统中,数值一律用补码来表示和存储。...在内存中存储: 可以看到对于a和b分别存储是补码。但是我们发现顺序有点不对劲。 这是又为什么?...大小端介绍 什么大端小端: 大端(存储)模式,是指数据低位保存在内存高地址中,而数据高位,保存在内存低地址中; 小端(存储)模式,是指数据低位保存在内存低地址中,而数据高位,,保存在内存高地址中...但是在C语言中除了8 bitchar之外,还有16 bitshort型,32 bitlong型(要看具体编译器),另外,对于位数大于8位处理器,例如16位或者32位处理器,由于寄存器宽度大于一个字节

16510

C语言--数据存储

目录 1、数据类型介绍 1.1、类型基本归类 2、整形在内存中存储 2.1、原码、反码、补码 2.2 大小端 2.3 练习题 3....、浮点型在内存中存储 3.1 一个例子 3.2 浮点数存储规则 ---- 1.数据类型介绍 基本内置类型: char   字符数据类型                                                                                                                         ...原来,在计算机中,内存存储数据,采用是字节序大小端存储模式。 什么是大小端?...大端(存储)模式,是指数据低位保存在内存高地址中,而数据高位,保存在内存低地址 中; 小端(存储)模式,是指数据低位保存在内存低地址中,而数据高位,,保存在内存高地 址中。...但是在C语言中除了8 bitchar之外,还有16 bitshort型,32 bitlong型(要看具体编译器),另外,对于位数大于8位处理器,例如16位或者32位处理器,由于寄存器宽度大于一个字节

1.7K20

C语言数据存储

C语言数据在内存中存储 文章目录 C语言数据在内存中存储 1.数据类型介绍 2.整形在内存中存储 2.1原码,反码,补码 2.2大小端字节序 2.3试题练习 3.浮点数在内存中存储...3.1.浮点数在计算机内部表示方法 3.2.浮点数存储规则 3.3.一个练习题 写在最后 1.数据类型介绍 C语言中具体由哪些数据结构: ps: 1.这里需要提醒大家就是其实char也是整形家族...大小端指的是数据以字节为单位在内存中存储顺序。 大端存储模式:把数据低位保存在内存中高地址中,而数据高位保存在内存低地址中。...但是在C语言中除了8 bitchar之外,还有16 bitshort型,32 bitlong型(要看具体编译器)。...C语言标准规定: 1.当一个数超过该类型数据所能存储最大值就发生截断。如八个比特位char存储32个比特位int时只存储最后面的八个比特位。

1.4K00

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

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

2.1K20

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

✨作者:@平凡的人1 ✨专栏:《C语言从0到1》 ✨一句话:凡是过往,皆为序章 ✨说明: 过去无可挽回, 未来可以改变 ---- 感谢您点赞与关注,同时欢迎各位有空来访我平凡舍 --...-- 文章目录 @[toc] ✍前言 数据类型 数据类型基本分类 整形在内存中存储 原码、反码、补码 大小端介绍 练习 结语 ✍前言 HelloHello,大家好,今天我们来一起来探索数据存储问题...数据存储这块内容还是有点难度。但是学起来是真的有趣,让我们一起来看一看把!...大端(存储)模式,是指数据低位保存在内存高地址中,而数据高位,保存在内存低地址中; 小端(存储)模式,是指数据低位保存在内存低地址中,而数据高位,,保存在内存高地址中。...但是在C语言中除了8 bitchar之外,还有16 bitshort型,32 bitlong型(要看具体编译器),另外,对于位数大于8位处理器,例如16位或者32位处理器,由于寄存器宽度大于一个字节

62830

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

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

53150

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

long[int] signed long[int] char : unsigned char signed char 因为char 类型数据是通过ASCII值存储,所以也属于整型家族 下表列出了关于标准整数类型存储大小和值范围细节...以下列出了32位系统与64位系统存储大小差别(windows 相同): 二.整型存储 数据在内存中以2进制形式存储,对于整数来说: 1.整数二进制有三种表示形式:原码,反码,补码。...注意:数据都是以补码形式存储,计算时也是补码之间运算,打印时按照原码打印。...三.整型提升 1.什么是整型提升: C整型算数运算总是至少以缺省整型类型精度来进行。...首先 char 类型到底是 signed char 还是 unsigned char ,C语言标准并没有规定,这取决于编译器 1.

17410

C语言数据在内存中存储

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

13710

C语言数据在内存中存储

---- 前言 不同数据在内存中存储形式是不同,而当我们掌握数据在内存中存储形式之后,会帮助我们更加了解计算机深层工作原理 废话不多说,我们接下来直接进入正题 一:数据类型详细介绍 ##1....1.c语言默认数字是int型也就是32比特位 2....%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了。

99820

C语言进阶:浮点型数据存储

一.浮点数据类型 float double long double 注意在定义 float 类型变量时,默认是 double 型,在数据后面加个 f 就是float类型了。...浮点数存储规则 根据国际标准IEEE( 电器和电子工程协会 ) 754,任意一个二进制浮点数V可以表示成下面的形式: --(-1)^ S * M * 2 ^ E --(-1)^ S 表示符号位,当 S...IEEE 745 规定: 1.对于32位浮点数,最高1位是符号位s,接着8位是指数E,剩下23位为有效数字M。...但是,我们 知道,科学计数法中E是可以出 现负数,所以IEEE 754规定: 存入内存时E真实值必须再加上一个中间数,对于8位E,这个中间数 是127;对于11位E,这个中间 数是1023。...这就涉及到浮点型数据存储与读取了 请看下图: 我们把代码改成下图所示,就能看见小数点后更多数字: 例2: #include int main() { float a=5.5f

30810

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

这些类型决定类型使用时开辟空间大小和看待这一内存空间视角 1 整形类型 这里许多人可能想问为什么char放在了整形里面;其实是因为char在存数据时以ASCII形式存储,ASCII是整数,以整形存储...对于整形来说:数据存放内存中其实存放是补码。 这是因为在计算机系统中,数值一律用补码来表示和存储。...而c则会从1111 1111变为11111111 11111111 11111111 11111111 也就是-1,所以b=256,c=0 让我们看看在内存中存储 我们可以看到对于...这又是因为什么 大小端 大端(存储)模式,是指数据低位保存在内存高地址中,而数据高位,保存在内存低地址 中; 小端(存储)模式,是指数据低位保存在内存低地址中,而数据高位,,保存在内存高地...但是在C语言中除了8 bitchar之外,还有16 bitshort 型,32 bitlong型(要看具体编译器),另外,对于位数大于8位处理器,例如16位或者32位处理器,由于寄存器宽度大于一个字节

16610

C语言——L数据在内存中存储

对于整形来说:数据存放内存中其实存放是补码。 为什么呢? 在计算机系统中,数值⼀律⽤补码来表⽰和存储。...1、什么是大小端 其实超过⼀个字节数据在内存中存储时候,就有存储顺序问题,按照不同存储顺序,我们分为⼤端字节序存储和⼩端字节序存储。...大端(存储)模式:是指数据低位字节内容保存在内存⾼地址处,⽽数据⾼位字节内容,保存在内存低地址处。...(低高地址方向0x11223344由小放大 这是大端) 小端(存储)模式:是指数据低位字节内容保存在内存低地址处,⽽数据⾼位字节内容,保存在内存⾼地址处。...这是因为在计算机系统中,我们是以字节为单位,每个地址单元都对应着⼀个字节,⼀个字节为8bit位,但是在C语言中除了8 bit char 之外,还有16 bit short 型,32 bit

14010

C语言数据在内存中存储形式

C语言:进制转换以及原码、反码、补码 我们以整型在内存中存储形式为基础,探究后面的内容:整型提升与截断、算数转换、大小端字节序和字节序判断、强制类型转换原理、浮点数在内存中存储!!...截断之后,只会保留低位字节存储c3中!! 2.2 如何进行整体提升呢? 1. 有符号整数提升是按照变量数据类型符号位来提升 2. ⽆符号整数提升,⾼位补0 2.3 如何进行截断呢?...当长字节数据类型用短字节数据类型进行存储时,会发生截断,截断就是通过简单地将高位丢弃,保存低位来实现 补充一条知识: C语言规定,char类型默认是否带有正负号,由当前系统决定,也就是说char类型可能等价于...在C语言中,赋值操作是不受大小端影响。 其中截断是通过简单地将高位丢弃来实现,而与数据存储字节顺序无关 。...关于浮点数比较在 《C语言深度解剖》这本书中有介绍。

14610

C语言进阶-数据在内存中存储

目录 前言 数据类型 C语言基本内置类型 类型意义 类型基本归类 整形在内存中存储 原码、反码、补码 意义 大小端 什么是大端小端  为什么有大端和小端 一道笔试题 练习 浮点型在内存中存储...常见浮点数 浮点数存储  浮点数存储规则 IEEE 754规定 特别规定 指数E从内存中取出 ---- 前言 ---- 本文主要讲解点 数据类型详细介绍 整形在内存中存储:原码、反码、补码 大小端字节序介绍及判断...浮点型在内存中存储解析 数据类型 ---- C语言基本内置类型 char //字符数据类型 unsigned char //signed(有符号)/unsigned(无符号)...float //单精度浮点数 double //双精度浮点数 //C语言有没有字符串类型?... 为什么有大端和小端 计算机系统是以字节为单位,每个地址单元都对应着一个字节,一个字节为8 bit 而C语言中除了8 bitchar之外,还有其他类型(大于8bite)以及寄存器宽度不一样 必然会涉及存储时字节安排问题

86430

C语言基础】:数据在内存中存储

反码:将原码符号位不变,其他依次按位取反就可以得到反码 补码:反码加一就可以得到补码 对于整型来说:数据是以补码形式存储在内存中。...这里数值存储顺序是倒过来。 造成这种情况原因是因为超过一个字节数据在内存中存储时候,就有储存顺序问题,按照不同存储顺序,我们分为大端字节序存储和小端字节序存储。...大端(存储)结构 指数据低字节内容保存在内存高地址处,而数据高字节内容保存在低地址处。 小端(存储)结构 指数据低字节内容保存再内存低地址处,而数据高字节内容保存在高地址处。...在计算机系统中,我们是以字节为单位,每个地址单元都对应着一个字节,一个字节为8个bit位,但是在C语言中除了了8 bit char 之外,还有16 bit short 型,32 bit long...printf打印a、b、c都是以**%d形式打印,%d**是来打印有符号整型(打印是 原码),这里a、b、c都是字符,要整型提升成整型后才能进行打印。

14310

C语言进阶——数据在内存中存储

---- 前言   经过前面博客介绍,我们C语言初阶已经学完了。...现在我们可以进入更深层次C语言世界了,而本文是我们进阶首篇文章,主要是介绍各种数据在内存中存储情况,比如有符号char最大值是多少、整型数据与浮点型数据在内存存储方式有何不同等,学会这些知识能增加我们内功...---- 正文 我们C语言有七种基本数据类型,可以分为三种:整型、实型、字符型。...C语言基本数据类型 short                       短整型                     %hd               2字节int                           ...总的来说,无论是反码相加还是浮点数存储,都是非常巧妙设计,是无数前辈绞尽脑汁最优解,正是因为有了这些规则,今天我们才能看到如此完善C语言体系。

15520

C语言内功】“数据在内存中存储

1补码 // 11111111111111111111111111111111 -1补码 //1 00000000000000000000000000000000 发生截断 六.数据存储,...是以字节为单位(8byte) ps:图中为大端字节序(具体见相关知识点) 七.大小端介绍 1.大端(存储)模式,是指数据高字节位保存在内存低地址处,低位同理。...2.小端(存储)模式,是指数据高字节位保存在内存高地址处,高位同理。...八.进制位 16进制位依次是0~15(0~9 a b c d e f) 0x是16进制位标识 一个16进制位表示4个二进制位,两个16进制位为1个字节 两道例题体会“整型提升”“数据截断”...: 考察点: 整型提升(有符号:符号位提升; 无符号unsigned:高位补0) 数据截断(超出该数据类型范围时) 例题1 例题2 九.有符号数和无符号数取值范围 ps

12610

【熟视C语言C语言——带你深度刨析数据在内存中存储

类型基本归类: 整型家族: char  unsigned char    //归为整型其中一种类型  signed char     //内存大小为一个字节 //C语言规定中并未明确指出char类型是有符号或无符号...首先我们可以看到a在内存中值是0x00 00 00 14,转换成十进制恰好是20,那么数据在在内存中存储是否就是像这样简简单单将值转换成二进制在进行存储呢?...2.2大小端 在刚刚计算中其实我们一直忽视了一个件事,当我们在vs编译器上测试我们数据时,我们通过内存监视可以看到数据值事这样存储:14 00 00 00,而我在讲解时写标准十六进制表达是这样...但是在C语言中除了8 bitchar之外,还有16 bitshort型,32 bitlong型(要看具体编译器),另外,对于位数大于8位 处理器,例如16位或者32位处理器,由于寄存器宽度大于一个字节...所以数据存储存在两种模式: 大端(存储)模式,是指数据低位保存在内存高地址中,而数据高位,保存在内存低地址中; 小端(存储)模式,是指数据低位保存在内存低地址中,而数据高位,,保存在内存高地址中

16120
领券