
C语言
文章平均质量分 76
chrovery
这个作者很懒,什么都没留下…
展开
-
负数在计算机中如何表示?
转载一篇文章,留下来学习,加深下印象。问一个基本的问题。 导论: 1. 负数是用对应正数的补码来表示-8 在计算机中存储: -8对应的正数为8 8的原码 0000 1000其反码是 1111 0111加1得到其补码 1111 10008 在计算机的存储8的补码与原码一致, 即 0000 10002. 正数的补码与原码一致3. 在计转载 2013-08-04 22:00:04 · 2246 阅读 · 0 评论 -
const char*, char const*, char*const的区别
const char*, char const*, char*const的区别const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有,只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向转载 2014-12-23 15:08:31 · 334 阅读 · 0 评论 -
结构体的声明(extern)与调用的方式
结构体的声明(extern)与调用的方式 转载▼这几天写液晶字库索引时发现一个问题,本来想在.h文件中这样定义: // ------------------ 汉字字模的数据结构定义 ------------------------ //typedef struct typFNT_GB16 // 汉字字模数据结构转载 2014-09-03 11:52:10 · 25486 阅读 · 2 评论 -
有符号数与无符号数的四则运算
同事今天遇到了一个小问题,就是做pow(x,y)时,总是报pow“OVERFLOW”,查了半天,找到了原因,原来他的y形式是一个负数乘以一个整数,而那个整数定义是DWORD,为无符号的,我们在查阅资料后发现,一般singed 型数据unsigned型数据进行四则运算,是要转换成unsigned的,但具体到编译器,一般是这样处理。如果在有符号的范围内,则返回值是一个signed,否则是unsigne原创 2014-05-27 18:26:23 · 3566 阅读 · 0 评论 -
关于结构体的内存对齐
本文以gcc version 4.4.3 ,64位x86环境为例,来分析结构体中各成员如何进行对齐。我们要注意两个方面:1)结构体成员变量对存放的起始地址有要求2)结构体变量占用的总长度也有要求结构体对齐规则如下:1、数据成员最终的存放地址:对齐在自身类型长度和#pragma pack(value)指定值中较小的值上。例如char型, 其占用1个字节, #pragm原创 2013-12-19 20:38:19 · 724 阅读 · 0 评论 -
失落的C语言结构体封装艺术
Eric S. Raymondesr@thyrsus.com>目录1. 谁该阅读这篇文章2. 我为什么写这篇文章3.对齐要求4.填充5.结构体对齐及填充6.结构体重排序7.难以处理的标量的情况8.可读性和缓存局部性9.其他封装的技术10.工具11.证明及例外12.版本履历 1转载 2014-02-08 17:25:05 · 1929 阅读 · 0 评论 -
平均滤波 IIRFilter
平均滤波器, 对输入数据去除最大值 最小值后,取其平均值 input parmeter: status: 需要进行滤波处理的数据 num: 该function一共可同时对6组数据进行滑动滤波,num表示当前采用第几组filter Filter[6][10] tap: filter的tap数, tap数最大为10 Filter[6][10] return value: 滤原创 2014-02-07 16:53:06 · 1781 阅读 · 0 评论 -
Int Long 区别 不同位宽编译器下各数据类型所占字节
转自 http://blog.sina.com.cn/s/blog_6f62c9510101svjz.html突然间就想到了long和int到底什么区别(发现有很多问题都是突然间想到的),然后百度、google各种查找,各种书籍:《C++ Primer》、《C程序设计语言》查看,终于明白了一些。下面的话选自《C程序设计语言》:short与long两个限定符的引入可转载 2015-05-14 14:41:08 · 3776 阅读 · 1 评论