![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++程序设计基础
文章平均质量分 77
cwq0421
这个作者很懒,什么都没留下…
展开
-
有符号数和无符号数
有符号数和无符号数负数在计算机中如何表示呢?你可能听过两种不同的回答。一种是教科书,它会告诉你:计算机用“补码”表示负数。,用“补码”表示负数,其实是一种公式,公式的作用在于告诉你,想得到问题的答案,应该如何计算。却并没有告诉你为什么用这个公式就可以得到答案? 另一种是一些程序员告诉你的:用二进制数的最高位表示符号,最高位是0,表示正数,最高位是1,表示负数。这种说法本身没错,可是如果没有下文,那么它就是错的。至少它不能解释,为什么字符类型的-1用二进制表示是“1111 1111”(16进制为FF);而不是转载 2011-04-13 12:55:00 · 1133 阅读 · 0 评论 -
栈内存与堆内存
<br /> 可能许多人对内存分配上的“栈 stack”和“堆 heap”不是很明白。简单的来讲,stack上分配的内存系统自动释放,heap上分配的内存,系统不自动释放。stack一般是静态分配内存,heap上一般是动态分配内存。 <br /><br /> 由malloc系统函数分配的内存就是从堆上分配内存。从堆上分配的内存一定要自己释放。用free释放,不然就是术语——“内存泄露”(或是“内存漏洞”)—— Memory Leak。于是,系统的可分配内存会随malloc越来越少,直到转载 2011-04-13 13:04:00 · 290 阅读 · 0 评论