- 博客(7)
- 收藏
- 关注
原创 内存对齐和位域
一、pragma pack()用法详解1.什么是对齐?为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取
2022-01-10 15:26:03
439
2
原创 float与double的范围和精度
float和double的区别double是双精度浮点数,内存占8个字节,有效数字16位,表示范围是-1.79E+ 308~-1.79E+308。float是单精度浮点数,内存占4个字节,有效数字8位,表示范围是 -3.40E+38~3.40E+38。两者处理速度不同,CPU处理float的速度比处理double快。double的精度高,double消耗内存是float的两倍。如果不声明,小数默认是double类型,用float时需要进行强转,或者在小数后加上f。float与double的范围
2022-01-07 15:09:22
18027
4
原创 C中的数据类型
前言根据开发需要,用 char 时,数组每个元素的字长与存储单元是1个byte(16进制2位,2进制8位)。而用int时,数组每个元素的字长与存储单元是4个byte(16进制8位,2进制32位)。现存放16进制2位数,例如 0xFF, 0x0A 之类,用 char 型足够了。若改用 int 型当然也可以,只是浪费了存储空间,因数位多,运算,读写也要多费时间。
2022-01-07 10:50:24
1486
原创 Keil5生成BIN文件
在Keil MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。.bin格式的文件在很多情况下也是需要的,借助Keil MDK 的工具既可以实现。
2021-11-29 16:39:13
236
原创 HTTP协议状态码
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。代码状态说明100继续请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。101切换协议请求者已要求服务器切换协议,服务器已确认并准备切换。102继续执行由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。2xx (成功)表示临时响应并需要请求者继续执行操作的状态代码。代码状态说明200成功服务器已成功处理
2021-09-29 17:09:35
82
原创 ASCII码与10进制、16进制转换对照表
十六进制代码MCS 字符或缩写DEC 多国字符名00NUL空字符01SOH标题起始 (Ctrl/A)02STX文本起始 (Ctrl/B)03ETX文本结束 (Ctrl/C)04EOT传输结束 (Ctrl/D)05ENQ询问 (Ctrl/E)06ACK认可 (Ctrl/F)07BEL铃 (Ctrl/G)08BS退格 (Ctrl/H)09HT水平制表栏 (Ctrl/I)0ALF换行 (C...
2021-09-29 16:37:16
20760
原创 CCF中间数
一.问题在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。 给定一个整数序列,请找出这个整数序列的中间数的值。输入格式输入的第一行包含了一个整数n,表示整数序列中数的个数。 第二行包含n个正整数,依次表示a1, a2, …, an。输出格式如果约定...
2018-11-24 22:24:58
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人