数据在内存中的存储(1)

news2024/12/25 12:27:45

目录

一.C语言中数据类型的介绍

1.c语言的内置类型及大小(单位字节)

2.整型家族

3.浮点数家族

4.自定义类型(构造类型)

5.指针类型

6.空类型

二.整型数据在内存中的存储

1.二进制

2.整型数据在内存中的存储(示例)

3.数据字节序存储分类(2种)

 编程实现:检测VS上是哪种储存形式

三.整型家族有符号和无符号的区别


一.C语言中数据类型的介绍

1.c语言的内置类型及大小(单位字节)

char        字符数据类型     1

short       短整型      2

int           整型         4

long        长整型      4/8

long long   更长整型     8

float        单精度浮点数     4

double    双精度浮点数     8


2.整型家族

char          signed    char

                 unsigned    char

char存储的时候是存储的对应的ASCII码值,所以也归为整型家族;

short         signed     short  [ int ]

                 unsigned   short  [ int ]

int             signed     int

                 unsigned   int

long          signed    long      [ int ]

                 unsigned    long    [ int ]

long long      signed    long long    [ int ]

                    unsigned   long  long      [ int ] 


3.浮点数家族

float

double

long   double


4.自定义类型(构造类型)

数组类型     int   arr1[10]   ---->类型为  int   [10] 

                   char   arr2[10]   ----->类型为  char   [10]

                   int   arr3[5]    ------>类型为  int   [5]

结构体类型   struct

                     struct {                                   

                              结构体所包含的数据成员,包括变量数组

                             }结构变量;//结构变量可以指定一个或则多个

                   例如:

                       struct

                             {

                              char  name[11];

                              char  sex[5];

                              int    age;

                             }Stu;

枚举类型      enum

                如:enum { red=1, oreange=2, yelloe=3, green=4,blue=5}

联合类型      union


5.指针类型

int*  p1

float*   p2

char*   p3

void*   p4

结构体指针

......

6.空类型

void  (表示空类型,无类型)

通常应用函数的返回类型,函数的参数,指针类型

void   test( )

{

       int  i = 0;

       printf("%d\n",i);

}   

void *   p


二.整型数据在内存中的存储

1.二进制

注意实际上整型数据在内存中的存储,计算等操作都是用的补码

整型数据的二进制的表现形式有3种

原码,反码,补码

1.正整数的原码,反码,补码相同

如:

 2.负数的原码,反码需计算

如:

 


2.整型数据在内存中的存储(示例)

 

本质上数据在内存中是以二进制的形式存储的,但是在VS上为了方便展示,显示的是十六进制

 这里的存储顺序是:小端字节序存储(下面有数据字节序存储分类)


3.数据字节序存储分类(2种)

字节序:是以字节为单位 ---> 讨论存储

存储的顺序分为两种:

1.小段字节序存储:把一个数据的低位字节的内容,存储在低地址处,把高位字节的内容,存储在高地址处;

2.大端字节序存储:把一个数据的低位字节的内容,存储在高地址处,把高位字节的内容,存储在低地址处;

 编程实现:检测VS上是哪种储存形式

----------------->思路:

 

 

所以可以打印出一个字节的内容

如果是 ,则是小端字节序存储

如果是 ,则是大端字节序存储

代码实现:

#include <stdio.h>

int main()
{
	int num = 1;
	
	if (*((char*)&num) == 1)
	{
		printf("小端字节序存储\n");
	}
	else
	{
		printf("大端字节序存储\n");
	}

	return 0;
}

运行结果:

 



三.整型家族有符号和无符号的区别

char          signed    char

                 unsigned    char

short         signed     short  [ int ]

                 unsigned   short  [ int ]

int             signed     int

                 unsigned   int

long          signed    long      [ int ]

                 unsigned    long    [ int ]

long long      signed    long long    [ int ]

                    unsigned   long  long      [ int ]

我们所说的  short,  int  , long , long long 都是默认的是(有符号的)  signed  short  ,  signed  int , signed long ,   signed  long  long 

但是char  到底是signed  char  还是 unsigned  char  我们不知道

但是在VS上char------>是signed    char

有符号和无符号的区别:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/581827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读数据压缩入门笔记01_数据压缩导读

1. 建立在数据压缩上的世界 1.1. 数据压缩技术最让人惊异之处在于&#xff0c;它与过去40年里个人计算的很多重大改变有关&#xff0c;但很少有人知道这一点 1.2. 我们当下生活在其中的这个计算世界&#xff0c;完全建立在数据压缩算法之上 1.3. 图像的压缩 1.3.1. 1978年 …

HMM实现中文分词

引言 在隐马尔可夫模型中介绍了HMM的理论部分&#xff0c;为了巩固理论知识&#xff0c;本文基于HMM实现中文分词。具体来说&#xff0c;通过HMM实现基于字级别的分词算法。 HMM 这里简单说明一下&#xff0c;更详细的请参考隐马尔可夫模型。 这里输入序列为 X 1 : N X_{1:N…

【h5】实现语音转文字

【h5】实现语音转文字 一、需求功能概述是&#xff1a; 二、实现过程1、实现按住录音&#xff0c;松开发送。有两个录音按钮。a. 获取用户的麦克风声音和创建一个MediaRecorder对象&#xff1a;b. 启动和停止录音&#xff1a;c. 将音频数据上传到服务器&#xff0c;并在处理完后…

【C++】指针 - 定义和使用,所占内存空间,空指针,野指针,const修饰指针,指针和数组,指针和函数

文章目录 1. 定义和使用2. 所占内存空间3. 空指针4. 野指针5. const修饰指针6. 指针和数组7. 指针和函数 1. 定义和使用 数据类型 * 变量名; 指针的作用是&#xff0c;可以通过指针间接访问内存。 内存编号是从 0 开始记录的&#xff0c;一般用十六进制数字表示。可以利用指…

nodejs+vue社区母婴幼儿用品商城系统

本系统实现了管理员对用户、商品信息、交流论坛、订单信息的管理&#xff0c;是为了满足用户更深层次的需求。除了上述优势外&#xff0c;本系统还具有&#xff1a;查询迅速&#xff0c;搜索资料方便&#xff0c;可靠性强等等在如今这个高速发展的时代&#xff0c;效率决定着你…

十款开源测试开发工具推荐(自动化、性能、混沌测试、造数据、流量复制)

在本篇文章中&#xff0c;我将给大家推荐 10 款日常工作中经常用到的测试开发工具神器&#xff0c;涵盖了自动化测试、性能压测、流量复制、混沌测试、造数据等。 1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务&#xff0c;微服务 API 做功能和性能一体化…

可靠可用性基本知识

可靠可用性基本知识 1. 基本概念1.1 可靠性1.2 可用性 2. 可靠和可用性指标3. 可靠性工程实践相关概念4. FEMA相关知识4.1 基本概念4.2 FEMA分析流程 5. 产品开发流程中可靠可用性测试如何开展5.1 测试可靠可用性输入\输出5.2 可靠可用性开展流程5.3 测试设计5.4 测试执行5.4.1…

chatgpt赋能python:Numpy读音:是“num-pie”还是“num-pee”?

Numpy读音&#xff1a;是“num-pie”还是“num-pee”&#xff1f; 你是否曾经在想&#xff0c;“numpy”这个词怎么念&#xff1f;很多人都有不同的看法。有些人说“num-pie”&#xff0c;而另一些人则说“num-pee”。那么&#xff0c;谁是正确的呢&#xff1f;在这篇文章中&a…

ad18学习笔记三:关于测量点对点

如何测量&#xff1f; 方法有很多种&#xff0c;比如 1、 点击 ‘放置’–》‘尺寸’–》‘线性尺寸’ 2、 快捷工具栏 3、 快捷键 AD如何使用测量命令&#xff1f;-凡亿课堂 AD中的三种测量距离的方式 清除测量标线&#xff1f; 这个简单&#xff0c;在显示测量结果的…

【论文阅读】GNN在推荐系统中的应用

【论文阅读】GNN在推荐系统中的应用 参考Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions 文章目录 【论文阅读】GNN在推荐系统中的应用1、本文结构2、推荐系统的目的&#xff0c;发展和基于GNN模型的挑战3、推荐系统相应背景&#xff0…

GPT-4 插件和插件化的思考

一、前言 最近 ChatGPT 的 Plus 用户在 GPT-4 中新增了插件功能&#xff0c; GPT 在插件的加持下如虎添翼。 那么我常用的插件是哪些&#xff1f;插件化是什么&#xff1f;插件化有什么好处&#xff1f;插件化和我们日常开发中哪些设计模式思想一致&#xff1f;GPT 的插件还存…

竟然还可以这样计算圆周率π?你被惊艳到吗(50)

小朋友们好&#xff0c;大朋友们好&#xff01; 我是猫妹&#xff0c;一名爱上Python编程的小学生。 和猫妹学Python&#xff0c;一起趣味学编程。 今日主题 什么是圆周率π&#xff1f; 如何用蒙特卡洛法来计算圆周率&#xff1f; 圆周率π 圆周率用希腊字母π&#xf…

TatukGIS Developer Kernel 11.78 for .NETCore Crack

Tatuk GIS Developer Kernel for .NET 是一个变体&#xff0c;它是受控代码和 .NET GIS SDK&#xff0c;用于为用户 Windows 操作系统创建 GIS 专业软件的过程。它被认为是一个完全用于 Win Forms 的 .NET CIL&#xff0c;WPF 的框架是为 C# 以及 VB.NET、VC、oxygen 以及最终与…

chatgpt赋能python:Python个人数据合并:简单优雅地整合您的个人数据

Python个人数据合并&#xff1a;简单优雅地整合您的个人数据 在信息时代&#xff0c;我们收集了大量的个人数据&#xff0c;包括社交媒体、电子邮件、日历事件和其他各种来源。但是&#xff0c;如何以整洁的方式将这些数据整合到同一地方&#xff1f;Python提供了一种简单而优…

chatgpt赋能python:介绍:Python中的jieba.cut

介绍&#xff1a;Python 中的 jieba.cut Jieba 是一个用于中文分词的 Python 库&#xff0c;被广泛应用于自然语言处理、文本分析等领域。其中的 jieba.cut 方法是该库的核心功能之一&#xff0c;对于各类中文文本的分词操作起到至关重要的作用。本文将从以下四个方面对 jieba…

springboot--请求

1. 请求 在本章节呢&#xff0c;我们主要讲解&#xff0c;如何接收页面传递过来的请求数据。 1.1 Postman 当下最为主流的开发模式&#xff1a;前后端分离 在这种模式下&#xff0c;前端技术人员基于"接口文档"&#xff0c;开发前端程序&#xff1b;后端技术人员也…

1.3. 数据类型与变量

数据类型 在Java中&#xff0c;数据类型决定着一个数据的取值范围和操作。Java中的数据类型主要分为两类&#xff1a;基本数据类型和引用数据类型。 基本数据类型 Java中的基本数据类型包括整型、浮点型、字符型和布尔型。 整型&#xff1a;byte、short、int、long。对应的…

【嵌入式烧录/刷写文件】-3.3-Bin文件转换为S19/Hex文件

案例背景(共8页精讲)&#xff1a; 该篇将告诉您&#xff1a;如何使用Vector HexView工具&#xff0c;j将一个bin文件转换为Intel Hex或Motorola S-record(S19/SREC/mot/SX)文件。 目录 1 Intel Hex&#xff0c;Motorola S-record(S19/SREC/mot/SX)&#xff0c;Bin文件之间的…

Flutter 笔记 | Flutter 自定义组件

Flutter 自定义组件的几种方式 当Flutter提供的现有组件无法满足我们的需求&#xff0c;或者我们为了共享代码需要封装一些通用组件&#xff0c;这时我们就需要自定义组件。在Flutter中自定义组件有三种方式&#xff1a;通过组合其他组件、自绘和实现RenderObject。 1. 组合多…

RT1170如何在SRAM/SDRAM运行程序

一般Flash为non-XIP时&#xff0c;我们需要在RAM上运行程序。还有一种情况&#xff0c;就是我们不想每次调试都要将程序写入Flash&#xff0c;然后由BootROM进行代码的拷贝和跳转&#xff0c;这样可以减少Flash的烧写次数。本篇文章就来讨论一下如何实现这两种情形的RAM代码运行…