文章目录 一、数据的基本类型介绍 二、整型在内存中的存储形式 1.原码、反码、补码 2.大小端介绍 3.浮点型在内存中的存储 ---- 一、数据的基本类型介绍 char//字符数据类型 short//短整型...int//整形 long//长整型 long long //更长的整形 float//单精度浮点数 double//双精度浮点数 二、整型在内存中的存储形式 一个变量的创建是要在内存中开辟空间的。...空间的大小是根据不同的类型而决定的。那接下来我们谈谈数据在所开辟内存中到底是如何存储的? 比如: int a = 20; int b = -10; 我们知道为a分配四个字节的空间。...在计算机系统中,数值一律用补码来表示和存储。...2.大小端介绍 什么大端小端: 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中
一、整数在内存中的存储 关于整数在内存中的存储形式,在博主之前写的文章里已经介绍了!友友们可以去点下面链接去看,这里就不过多介绍。...C语言:进制的转换以及原码、反码、补码 我们以整型在内存中的存储形式为基础,探究后面的内容:整型提升与截断、算数转换、大小端字节序和字节序判断、强制类型转换的原理、浮点数在内存中的存储!!...计算机中,内存被分为了一个个内存单元,每个内存单元的大小是1个字节,所以当我们需要存储数据超过一个字节时,就涉及到了存储顺序的问题,根据存储顺序的不同,我们分为了大端字节序存储和小端字节序存储的概念。...⼤端(存储)模式:是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存 在内存的低地址处。...(在强制类型转换原理会解释) 2、CPU做数值运算时从内存中依顺序依次从低位到高位取数据进行运算,直到最后刷 新最高位的符号位,这样的运算方式会更高效 大端模式:
整数在内存中的存储 整数的2进制表示方法有三种,原码、反码和补码 原码、反码和补码是用于表示有符号整数的三种方式。 原码:有符号整数的原始表示形式。...在计算机中,通常使用补码来表示和存储有符号整数,因为它可以简化算术运算。 部分类型数据的存储 在内存中,整数的存储通常是以二进制形式表示的。整数占用的存储空间取决于其数据类型的位数。...long long:通常占用8个字节(64位),可以表示更大范围的整数。 整数在内存中的存储是直接以其二进制表示形式存储的。...例如,十进制数19在内存中的存储形式可能是00010011(假设使用8位的存储空间)。整数的存储形式还取决于计算机的字节序,即大端序(高位字节存储在低地址)或小端序(高位字节存储在高地址)。...由此,引出大小端: 在大端字节序中,整数的高位字节存储在内存的低地址处,而低位字节存储在内存的高地址处。换句话说,整数的最高有效位存储在最低的地址,最低有效位存储在最高的地址。
一、整数在内存中的存储 计算机中有3中二进制存储方法,即原码、补码、反码 正整数的原码、反码、补码都相同 负整数原码、反码、补码各不相同: 原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。...反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。 补码:反码+1就得到补码。 对于整型数据,数据内存其实存放的是补码 why? 在计算机系统中,数值⼀律⽤补码来表⽰和存储。...大小端的介绍 其实超过⼀个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为⼤端字节序存储和⼩端字节序存储,下⾯是具体的概念: ⼤端(存储)模式:是指数据的低位字节内容保存在内存的...⾼地址处,⽽数据的⾼位字节内容,保存在内存的低地址处。...⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处。
整形在内存中的存储 对于整形来说,数据存放在内存中其实存放的是补码。原因在于,使用补码,可以将符号位和数值域同一处理。...大小端介绍 大端字节序存储:把一个数据的低位字节数处的数据存放在内存的高地址处,高位字节处的数据存放在内存的低地址处 小端字节序存储:把一个数据的低位字节数处的数据存放在内存的低地址处,高位字节处的数据存放在内存的低地址处...浮点型在内存中的存储 我们先看一个例子: 如果我们浮点型在内存中的存储方式与整形相同的话,第一个*pfloat的值应该为9.000000,可是我们看到结果却是0.000000。...显然,浮点型与整形在内存中的存储方式不同。...因为打印时是有符号的整形,第一位是0(是正数),原码等于补码,直接转成十进制的数后,结果就是一个很大的数。 以上就是数据在内存中的存储的简单介绍。
划分了之后,就能更好的学习,所以在对数据在内存的存储的学习中,我们学习完了整数在内存中的存储。接下来就学习另一大块浮点数在内存中的存储。...整数在内存中的存储练习题 大小端字节和字节序判断(练习1) 基础知识点认知 对于内部字节为多个的单个数据来说,有大小端存储模式 那么为什么会存在大小端存储模式呢?...练习2 该题要做出来需要我们对数据在内存中的存放的这个大知识点的理解,用到了整形提升和截断,以及对printf的库函数内部理解(前面都讲过) 上面该图是其中具体细节变化,因为a是有符号,在截断后内存存放为...到这我们的整数在内存中的存储就结束了,接下来将给大家讲述单个数据另一大块:浮点数在内存中的存储。...浮点数在内存中的存储 浮点数在内存中的存储都是以二进制形式存储。
---- 数据在内存中的存储:: 整型及其浮点型存储方式: 1.数据类型介绍 内置类型: char 字符型 short 短整型 int 整型 long 长整型 long long 更长的整型 C99标准中引入...注:数据在内存中存储的是补码的二进制序列,只是显示的时候将其十六进制化. 3.大小端字节序介绍及判断 大小端介绍: 大端存储模式:是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中....小端存储模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中....#include 大端存储模式:是指数据的低位保存在内存的高地址中,而数据的高位保存在内存的低地址中....小端存储模式:是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中.
计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。...要想学习编程,就必须了解二进制,它是计算机处理数据的基础。 内存条是一个非常精密的部件,包含了上亿个电子元器件,它们很小,达到了纳米级别。...1PB = 1024TB = 250Byte 1EB = 1024PB = 260Byte 我们平时使用计算机时,通常只会设计到 KB、MB、GB、TB 这几个单位,PB 和 EB 这两个高级单位一般在大数据处理过程中才会用到...你看,在内存中没有abc这样的字符,也没有gif、jpg这样的图片,只有0和1两个数字,计算机也只认识0和1。...所以,计算机使用二进制,而不是我们熟悉的十进制,写入内存中的数据,都会被转换成0和1的组合。 我们将在《C语言调试》中的《查看、修改运行时的内存》一节教大家如何操作C语言程序的内存。
目录 1-0常见的浮点数 1-1浮点数在内存中的存储引入 1-2浮点数存的规则 1-3浮点数取的规则 1-4重新研究引入的那一题:(结合存和取) 1-6关于这个浮点型和整型的输出转换: 1-7 完结...,撒花,等等,不如来一个小测试: ---- 1-0常见的浮点数 两种表示形式: 直接表示:3.14 类似科学计数法:1E10 常见的浮点数类型:float ,double(更多细节在float.h中定义...,可使用软件everything里搜索) 1-1浮点数在内存中的存储引入 先来看一道题引入 #include //浮点型数据在内存中的存储 int main() { int...,同时按照整数(浮点数)的视角拿出来是正常的 2.但是按整数(浮点数)的方式存进去,同时按照浮点数(整数)的视角拿出来不正常(和我们开始想的不一样)的 总结: 从这里我们可以看出整数和浮点数在内存中的存储方式是有区别的...这意味着,如果E为8位,它的取值范围为0-255:如果E为11位,它的取值范围为0-2047,但是,我们知道,科学计数法中的E是可以出现负数的,所以规定,存入内存时E的真实值必须再加上一个中间数,对于8
+1) 2、大小端字节序,字节序判断 在知道存储的方法后,那我们不经想起到底是怎么,才把这样的4个字节的数字在内存中存储的呢?...在这篇文章中,提到在VS2019环境下,使用出现了死循环,并且还介绍了使用的习惯和内存使用顺序可以看一下,了解了解,但是还是不相同的,千万别搞错了,这里是以一个一个数为存储来说。...==大端:==是指数据的低位字节内容保存在内存中的高地址处,而数据高字节内容,保存在内存中的低地址处。...==小端:==是指数据的低位字节内容保存在内存中的低地址处,而数据高字节内容,保存在内存中的高地址处。 记住大小端的区别,方便区分!...还有剩下来的浮点数在内存中的存储,下章解释清楚
浮点型在内存中的存储 常见的浮点数: 3.14159 1E10 ------ 1.0 * 10^10 浮点数家族包括: float、double、long double 类型 浮点数表示的范围:...float.h中定义 3.1 一个例子 浮点数存储的例子: #include int main() { int n = 9; float* pFloat = (float*...因此,我们可以推出:整型和浮点型在内存中的存储方式是有差异的! 3.2 浮点数存储规则 num 和 *pFloat 在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大?...要理解这个结果,一定要搞懂浮点数在计算机内部的表示方法。...但是,我们知道,科学计数法中的E是可以出现负数的,所以IEEE 754规定,存入内存时E的真实值必须再加上一个中间数,对于8位的E,这个中间数是127;对于11位的E,这个中间数是1023。
本章重点 数据类型详细介绍 整形在内存中的存储:原码、反码、补码 大小端字节序介绍及判断 浮点型在内存中的存储解析 1....整形在内存中的存储 我们之前说过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的 那接下来我们谈谈数据在所开辟内存中到底是如何存储的?...在计算机系统中,数值一律用补码来表示和存储。...; } 如图,在内存中16进制数列以字节为单位产生了倒序,究其原因,且让我们看以下内容 2.2 大小端介绍 当数据在内存中数值大于一个字节时,就有了存储顺序的问题,这里就规定了两种存储方式 什么大端小端...: 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。
整形在内存中的存储 我们之前讲过一个变量的创建是要在内存中开辟空间的,空间的大小是根据不同的类型而决定的。...在计算机系统中,数值一律用补码来表示和存储。...(本质上内存中存放的是二进制,在VS上为了方便展示,显示的是16进制),但是我们发现顺序有点不对劲,这又是为什么呢?...2.2 大小端介绍 int main() { int a = 0x11223344; return 0; } 字节序是以字节为单位,讨论存储顺序的 大端(存储)模式,是指数据的低位保存在内存的高地址中...,而数据的高位,保存在内存的低地址中 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中 为什么有大端和小端: 为什么会有大小端模式之分呢?
二、两类浮点型数据(float、double)在内存中的存储方式 2.1两类浮点型数据的存储模型 根据IEEE754标准规定,浮点型数据的存储和读取按照公式: Value为浮点型数据的二进制值 S表示浮点型数据的正负...下面为双精度浮点型数据double在内存中的存储模型,符号位S占用1bit内存,指数为E占用11bit的内存,M占用52bit的内存。...图4.1 展示了整型数据 int n = 9 在内存中的存储形式,若以浮点型数据的视角去读数,则,,E的二进制位全部为0,由3.5.2中提到的知识,E的二进制位全为0时表示为一个无穷小的数据,且以%f...这是因为 n1 = 9.0 以浮点型数据的存储方式存入到了内存中(存储方式如图4.2所示),但在读取并打印这个数据的时候,却是对一个整型指针进行解应用,将9.0以整型数据的视角进行读取和打印。...故打印结果为: 四、总结 本文详细介绍了单精度浮点型数据和双精度浮点型数据在内存中存储的方法,给出了浮点型数据的存储模型和读取模型,并以案例的形式进行了介绍。浮点型数据可表示为: 。
整形在内存中的存储 我们之前讲过一个变量的创建是要在内存中开辟空间的。空间的大小是根据不同的类型而决定的。 那接下来我们谈谈数据在所开辟内存中到底是如何存储的?...对于整形来说:数据存放内存中其实存放的是补码。 为什么呢? 在计算机系统中,数值一律用补码来表示和存储。...2.2 大小端介绍 什么大端小端: 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,...浮点型在内存中的存储 常见的浮点数: 3.14159 1E10 浮点数家族包括: float、double、long double 类型。...3.2 浮点数存储规则 num 和 *pFloat 在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大? 要理解这个结果,一定要搞懂浮点数在计算机内部的表示方法。
---- 前言 不同的数据在内存中的存储形式是不同的,而当我们掌握数据在内存中的存储形式之后,会帮助我们更加了解计算机深层工作原理 废话不多说,我们接下来直接进入正题 一:数据类型详细介绍 ##1....二:整型在内存中的存储 2.1原码,反码,补码的介绍 这三种整型的表达形式均有符号位和数值位 原码其实就是把我们所直观看到的数字,用二进制形式表达出来 例如:char型的数字-1表示为10000001...型的20在表现形式为16进制的大端字节序下存为00 00 00 14 小端字节序存储方式:补码的低位放在内存的低位,高位放在内存的高位 例如:00000000 00000000 00000000 00010100int...1,当发生截断后存储在变量abc中的内存形式均为11111111,但打印的是int型的十进制数字,所以要进行整型提升。...3.3总结整数和浮点数在存储时的一些区别 在小数部分的存储,我们直接将浮点数二进制表示形式下的小数部分存到23比特位的部分即可(或者52比特位),在读取时我们也直接将其整体拿出来加上个1就是二进制形式下的浮点数表达了
这些类型决定类型使用时开辟空间的大小和看待这一内存空间的视角 1 整形类型 这里许多人可能想问为什么char放在了整形里面;其实是因为char在存数据时以ASCII形式存储,ASCII是整数,以整形存储...整形在内存中的存储 原码、反码、补码 计算机中的整数有三种2进制表示方法,即原码、反码和补码。...对于整形来说:数据存放内存中其实存放的是补码。 这是因为在计算机系统中,数值一律用补码来表示和存储。...这又是因为什么 大小端 大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址 中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地...有些ARM处理器还可以由硬件来选择是大端模式 还是小端模式 浮点型在内存中的存储 浮点数包括float double long double类型 浮点数范围在float,h 中(可以用软件Everything
、函数的参数、指针类型 整形在内存中的存储 一个变量的创建是要在内存中开辟空间的。...正数的原、反、补码都相同 对于整形来说:数据存放内存中其实存放的是补码 在计算机系统中,数值一律用补码来表示和存储。...大端(存储)模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中; 小端(存储)模式,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。...因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着 一个字节,一个字节为8bit。...因此就导致了大端存储模式和小端存储模式。 例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。
前言 我们知道在操作符中与2进制有关的操作符:& | ^ ~ >> << 使用这些操作符就离不开整数中在内存中的存储。 我们一起来看看整数的存储。 2....整数在内存中的存储 整数存储: 整数的二进制表示方法有三种:原码、反码和补码。...负数原反补之间转换就用下面这个图来表示: 2.1 为什么整数在内存中存放的是补码 这是因为在计算机系统中,数值⼀律用补码来表示和存储。...说明整数和浮点数在内存中的存储是不相同的。 4.1 浮点数的存储 上⾯的代码中, num 和 *pFloat 在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大?...9以整型的形式存储在内存中,得到如下二进制序列:1 0000 0000 0000 0000 0000 0000 0000 1001首先,将 9 的二进制序列按照浮点数的形式拆分,得到第一位符号位s=0,
2-1二进制和十六进制 数据在内存中是以2进制存储,VS在展示的时候是以16进制展示的 一个字节占8个二进制位,等价也等于2个十六进制位 调试->窗口->内存->&a如何使用vs在调试时查看内存...将十进制转换为二进制的求原码技巧: 写成两个2的整数次方相加的形式,比如10=8+2 也就是1000+0010=1010 总体来看: 只要是整数,在内存中的都是以补码的形式存储 举个例子...这也类似我们的大小端字节序 为什么有大小端字节序 由上面数据以二进制补码的形式存储在内存中,如果现有一个十六进制数0x112223344,我们知道电脑内存被划分为一个个聂村单元,每一个内存单元就是一个字节...对于他我们可以以11223344存,也可以44332211这样存,甚至可以31231424这末离谱地存,我们虽然平时看不到这些数据,但是在需要查看内存的时候,为了方便阅读,普遍流行的方式就是大小端存储。...("大端"); } else { printf("小端"); } return 0; } 二进制+大小端=整型数据在内存中的存储 4.相关笔试题 4-1 猜一猜打印的结果 int main
领取专属 10元无门槛券
手把手带您无忧上云