C语言数据存储

news2025/1/19 23:11:37

目录

一.数据类型的介绍

(1)整形家族

(2)浮点型家族

(3)构造类型

(4)其他

 二.整形在内存中如何进行存储

(1)原,反,补

(2)大小端介绍

(3)练习

三.浮点型在内存中如何进行存储

(1)存储

​编辑​编辑

(2)取出


debug 版本下会死循环

release版本优化后

将代码的效果改变

一.数据类型的介绍

(1)整形家族

 

对于无符号数据类型的每一位都可以作为有效位存储数据

(2)浮点型家族

(3)构造类型

(4)其他

数组根据需求可以变化其元素的类型和数组大小

 二.整形在内存中如何进行存储

(1)原,反,补

原码是数据的真实值

整数在内存里面存放的是补码的二进制序列

而内存窗口显示的是16进制

补码和原码相互转换是相同的,

补码取反(符号位不变)加1得到原码

原码取反(符号位不变)加一得到补码

(2)大小端介绍

剥鸡蛋从大端还是从小端剥

对于一个字节大小的数据,没有字节存储顺序可谈

大小端取决于硬件

如何代码表示机器的硬件的字节存储形式

int main()
{
	int a = 1;
	char* p = (char*)&a;
	if (*p == 0)
	{


		printf("大端");
	}
	else if (*p == 1)
	{

		printf("小端");
	}

	return 0;
}

最好将判断大小端的代码封装成一个函数

(3)练习

int main()
{
	char a = -1;
	signed char b = -1;
	unsigned char c = -1;
	printf("a = %d,b = %d,c = %d", a, b, c);
	return 0;
}

数据截断是发生在存储数据时

数据在使用的时候,才会进行整形提升,如char ,short 在表达式进行计算时会默认提升为整形

计算机在进行计算的时候都是以缺省整形的方式来进行计算的

注:表达式计算时讲过整形提升,讲操作符的时候

整形提升时,是按原来的数据类型进行提升的

如将char类型的数据以%u的类型打印,那么就按有符号的标准进行提升

有符号数高位全部补符号位对应的数,负数补1,正数补0

无符号数高位全部补0

int main()
{
	char a = -128;
	printf("%u\n", a);
	printf("%d", a);


	return 0;
}

打印无符号整形时,提升后的补码就是原码

而打印有符号整形时,提升后的补码要进行转换成原码
自己算一下

int main()
{
	char a = 128;
	printf("%u\n", a);
	printf("%d", a);
	return 0;
}

 

向上转换

有符号数和无符号数进行计算时,会将有符号数转换为无符号数进行计算

陷入死循环

-1---->4294967295

-2---->4294967294

unsigned char i = 0;
int main()
{
	for (i = 0; i <= 255; i++)
	{
		printf("Akebi\n");
	}
	return 0;
}

unsigned int 不可能小于0

三.浮点型在内存中如何进行存储

(1)存储

小数后面加f的类型时float

小数后面不加f的类型为double

(2)取出

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

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

相关文章

Spring解决循环依赖

目录 什么是spring循环依赖 什么情况下循环依赖可以被处理&#xff1f; spring 如何解决循环依赖 创建A这个Bean的流程 答疑 疑问&#xff1a;在给B注入的时候为什么要注入一个代理对象&#xff1f; 初始化的时候是对A对象本身进行初始化&#xff0c;而容器中以及注入到B…

三维模型轻量化、格式转换、可视化、数字孪生综合服务平台

老子云概述 老子云3D可视化快速开发平台&#xff0c;集云压缩、云烘焙、云存储云展示于一体&#xff0c;使3D模型资源自动输出至移动端PC端、Web端&#xff0c;能在多设备、全平台进行展示和交互&#xff0c;是全球领先、自主可控的自动化3D云引擎。 平台架构 平台特性 基于 …

Linux:gitlab创建组,创建用户,创建项目

创建组和项目 让后可以在组里创建一个个仓库 创建成员 我创建个成员再把他分配进这个组里 进入管理员 密码等会我们创建完用户再去配置密码 Regular是普通的用户&#xff0c;只可以正常去访问指定规则的项目 而下面的administrator就是管理员&#xff0c;可以随便进项目&…

[HTML]Web前端开发技术30(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 网页标题:手机批发业务-商品备选区<

FPS游戏漫谈玩家的延时都不一样的情况下是如何做到游戏的同步性

在FPS游戏中&#xff0c;保持游戏的同步性是非常重要的&#xff0c;因为游戏中的每个玩家都必须看到其他玩家的动作与行为&#xff0c;同时也需要感受到自己的行为在游戏中的影响。为了保持游戏的同步性&#xff0c;FPS游戏通常采用一种叫做“客户端-服务器”&#xff08;clien…

更改QTabWidget的选项卡的位置

选项卡位置函数&#xff1a; QTabWidget::setTabPosition(QTabWidget::North); //默认为上面 上北下南 参数&#xff1a; QTabWidget::North //上面 QTabWidget::South); //下面 QTabWidget::West //左侧 QTabWidget::East)//右侧 选项卡外观函数&#xff1a; QTabWidget::setT…

C/C++的内存管理(2)——new与delete的内核与本质

内存管理 operator new 与 operator delete函数回看new与delete的实现内置类型自定义类型 常见面试题 我们已经知道了new与delete的用法及其好处&#xff0c;发现它似乎与C语言中的动态内存开辟的函数&#xff08;malloc/calloc/realloc&#xff09;不同 在这里我们特别指出&am…

EasyRecovery2024电脑版软件评测与使用教程

一、EasyRecovery电脑版软件评测 EasyRecovery电脑版是一款功能强大、操作简便的数据恢复软件。它适用于多种场景&#xff0c;无论是误删除、格式化、分区丢失还是硬件故障&#xff0c;都能提供有效的恢复方案。该软件界面直观&#xff0c;即便没有技术背景的用户也能轻松完成…

C语言第三十弹---自定义类型:结构体(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 结构体 1、结构体类型的声明 1.1、结构体回顾 1.1.1、结构的声明 1.1.2、结构体变量的创建和初始化 1.2、结构的特殊声明 1.3、结构的自引用 2、结构体内存…

就业攻略:ChatGPT为您解析职场秘诀!【文章底部添加可得内推码汇总表】

目录 优化个人简历和求职信 提供面试准备和技巧 提供职业规划和发展建议 提供职场生存技巧和建议 作为一种强大的自然语言处理工具 在当今竞争激烈的就业市场中&#xff0c;成功找到理想的工作并不容易。职场新人常常感到困惑&#xff0c;不知道如何才能在众多竞争者中脱颖…

机器学习基础(六)TensorFlow与PyTorch

导语&#xff1a;上一节我们详细探索了监督与非监督学习的结合使用。&#xff0c;详情可见&#xff1a; 机器学习基础&#xff08;五&#xff09;监督与非监督学习的结合-CSDN博客文章浏览阅读4次。将监督学习和非监督学习结合起来&#xff0c;就像将两种不同的艺术形式融合&a…

OpenAI 全新发布文生视频模型 Sora,功能有多强大?

卷疯了卷疯了&#xff0c;短短十几小时内&#xff0c;OpenAI和谷歌接连发布核弹级成果。 国内还没睡的人们&#xff0c;经历了过山车般的疯狂一晚。 就在刚刚&#xff0c;OpenAI突然发布首款文生视频模型——Sora。简单来说就是&#xff0c;AI视频要变天了&#xff01; PS&a…

《高效使用Redis》- 由面试题“Redis是否为单线程”引发的思考

由面试题“Redis是否为单线程”引发的思考 很多人都遇到过这么一道面试题&#xff1a;Redis是单线程还是多线程&#xff1f;这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程&#xff0c;说复杂是因为这个答案其实并不准确。 难道Redis不是单线程&#xff1f…

Linux进程【补充】

文章目录 进程概念task_struct 进程创建forkvfork写时拷贝 进程状态僵尸进程孤儿进程守护进程 进程地址空间是什么为什么怎么做 进程概念 进程是一个程序的执行实例或者是担当系统资源分配的实体。当一个程序运行时&#xff0c;被从硬盘加载到内存中&#xff0c;操作系统为每个…

你真的了解@Async吗?

你真的了解Async吗&#xff1f; 使用场景&#xff1a; 开发中会碰到一些耗时较长或者不需要立即得到执行结果的逻辑&#xff0c;比如消息推送、商品同步等都可以使用异步方法&#xff0c;这时我们可以用到Async。但是直接使用 Async 会有风险&#xff0c;当我们没有指定线程池…

政安晨【示例演绎虚拟世界开发】(一):Cocos Creator 的 Hello World

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: AI虚拟世界大讲堂 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正。 前言 Cocos Creator是一款非常强大的游戏开发引擎&#xff0c;它有着优秀…

李宏毅2023机器学习作业1--homework1——python语法

# 定义list del_col del_col [0, 38, 39, 46, 51, 56, 57, 64, 69, 74, 75, 82, 87] # 删除raw_x_train中del_col的列&#xff0c;axis为1代表删除列 raw_x_train np.delete(raw_x_train, del_col, axis1) # numpy数组增删查改方法 # 定义列表get_col get_col [35, 36, 37,…

sql语法中所有的条件字段都可以用函数来加工

SELECTt_test.age FROMt_testINNER JOIN t_test_copy1 ON SUBSTR( t_test.age, 1, 4 ) t_test_copy1.idd

加速Python代码的秘密武器,探索Cython的秘密

首先和大家明确一下这个Cython单词的读法&#xff0c;这个单词Cython以前我也不知道怎么读&#xff0c;老后面要用到这个包的时候&#xff0c;老是不清楚读法&#xff0c;才去搜了下&#xff0c;这个单词是读"赛森"&#xff0c;就是前面的cy是读"赛"&#…

C语言每日一题(61)盛最多水的容器

题目链接 力扣 11 盛最多水的容器 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水…