![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
「已注销」
路漫漫其修远兮
展开
-
C语言中位运算的巧用
一 、位运算实例1、用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句。 X:2,4,8,16转化成二进制是10,100,1000,10000。如果减1则变成01,011,0111,01111。两者做按位与运算,结果如果为0,则X是2的N次方。2、统计一个整数的二进制中1的个数 int CountNumberOfOne(int numb转载 2014-06-02 21:16:42 · 2015 阅读 · 0 评论 -
Windows下GCC编译环境中文乱码解决方案
在编译参数中增加以下两条指令:-fexec-charset=gbk-finput-charset=gbk原因简单分析:Windows(中文)默认的字符集是Windows-936(GBK),而GCC编译器默认编译的时候是按照UTF-8解析的,当未指定字符集时一律当作UTF-8进行处理,于是造成乱码原创 2014-06-01 02:36:55 · 13628 阅读 · 4 评论 -
CodeBlocks上使用long double数据类型输出错误的解决方案
CodeBlocks上使用如下代码输出long double数据类型的变量时数值异常原创 2014-12-28 12:04:45 · 5366 阅读 · 1 评论 -
Windows上为程序开辟更大的栈空间
最近在研究算法时,遇到稍微深一点的递归就会Stack Overflow,由于不是实际项目,所以并不想用绕道而行的方法解决,于是便在代码里动了点手脚,把栈空间弄大了。实际项目中最好别这么干,容易搞乱堆栈调用,最好从算法上避免过深的递归或者自己用栈结构模拟进栈出栈。当然更好的方法是不用Windows(笑)。//VC++//预留100MB,当前提交100MB#pragma comment(lin原创 2014-12-28 12:16:59 · 2254 阅读 · 0 评论 -
C语言产生随机数
经常有在某个区间内产生随机数的需求,于是下面的代码就用得上了srand((unsigned)time(0));(a,b) (rand()%(b-a+1))+a-1[a,b) (rand()%(b-a))+a(a,b] (rand()%(b-a))+a+1[a,b] (rand()%(b-a+1))+a原创 2014-12-28 12:22:40 · 948 阅读 · 0 评论 -
VS2012编译的C/C++程序不能在Windows XP上运行的解决方案
Visual Studio 2012默认情况下编译出来的C/C++程序不能在Windows XP上运行,打开时会提示“XXX.exe 不是有效的 Win32 应用程序”(坑爹呢),好在后来有了解决方案。 首先假设已经安装好了Visual Studio 2012,然后点击菜单栏的“工具(Tools)”->“扩展和更新(Extensions and Updates)”->左下方的“更新原创 2014-12-28 12:15:12 · 2470 阅读 · 0 评论