`
rollstone
  • 浏览: 39286 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
http://hi.baidu.com/deep_pro/blog/item/c59470afea08f0ca7dd92a1b.html aaaaaaaaaaaaaaa
一浮点数的知识 1.首先浮点数不用补码表示,只有int型才用补码表示。 2.计算机能精确表示的数值是有限的,离散的,而现实中的实数是连续的,这就必然有精度的要求。二进制的小数更糟糕,能精确表示的更少。 例如: 0.1D,表示成二进制的时候是循环的 0.0 0011 0011 0011......B 根据IEEE标准754: 32位的float类型有效位为23位。前面还有个隐含位。 所以float类型最多的有效位:24位(这个位是bit,是对2进制来说的)。 0.1d 在内存中的表示为: 0  01111011    10011001100110011001101B 第一位为符号位, 接下来8位为 ...

关于字符串倒转

有纯倒转,也有按单词为单位的。想做个总结 #include<stdio.h> void ReverseChar( char * const start, char * const end) { if( start == NULL || end== NULL || start == end ) return ; char * _start = start; char * _end = end; while( _start < _end ) { // *_start ^= ...
看《C专家编程》总结的的。 首先是个经典的例子: 一个文件定义: char a[4]; 另一个文件声明: extern char* a; 或者 extern char a[]; 这两种声明会有什么后果?编译器是怎样的处理? 下面说明。 一.声明和定义的概念 一个变量和函数,定义只能有一次,但是声明却可以多次。 定义:确定对象的类型并分配了内存。 声明:描述了对象的类型,用于指代其他地方定义的对象。 二.数组和指针编译器的处理方式 1.首先明白左值和右值 X = Y; 在这个情况下: 符号X的含义是X所代表的地址,这被称为左值。在编译时可以。 符号Y的含义是Y所代表的地址的内容。这被称为右值。右 ...
那种加加减减的方法其实不对。因为缩小了数据范围。 a1=a1+a2;     //此时a1为a1与a2之和 a2=a1-a2;     //此时a2=a1 a1=a1-a2;     //此时a1=a2 位操作符号^(异或)有个性质: a^a=0; 0^a=a; 所以a^a^b=b; 所以正确的交换如下: void   swap   (int&   _1,int&   _2) {             _1^=_2^=_1^=_2 return   } ^=结合的方向是从右向左。

Linux下一些操作

1.解压多个文件 解压当前目录下的所有 .tar.gz 结尾的文件:for ARK in ./*.tar.gz; do tar xvf $ARK; done 将文件名赋给ARK。 或者 find   ./   -name   '*.tar.gz '   -exec   tar   xvf   {}   \;   -print 2.软件的安装和删除 安装: sudo apt-get install xxx 或者: sudo aptitude search XX sudo aptitude install XXX 删除: apt-get autoremove XXXX 3.shell下 ...

C++模板

template是关键字,template之后是 模板形参表。模板形参表是用尖括号括住的一个或者多个模板形参的列表。 1.模板函数 template <typename T>                          //没有分号 [inline] int compare(const T &V1 ,const T & ...
Quick Sort算法描述如下: 假设S代表将被处理的序列 1.如果S的元素个数为0或1,结束。 2.取S中的任何一个元素,当作枢轴(pivot)v. 3.将S分割成L,R两段,使L内的每个元素都小于或等于v,R内的每一个元素都大于或等于v. 4.对L,R递归执行Quick Sort. http://bbs.chinaunix.net/thread-809891-1-1.html =========== STL中的sort(),只适用于RandomAccessIterator.
http://blog.csdn.net/kittyjie/article/details/4731222
static union {   char c[4];   unsigned char l; } endian_test={ {'l','?','?','b'} } #define ENDIANNESS ( (char)endian_test.l ) if (ENDIANNESS == 'l') //little endian else //big endian http://www.cnblogs.com/leezhm/archive/2011/07/19/2110864.html
#include<iostream> #include<fstream> #include<string> #include<cstdlib> using namespace std; int main() { ifstream in_file; ofstream out_file ; string out_string; out_file.open("/home/merlin/code/word.txt"); if(out_file.is_open()) { cout<<& ...
  先是在网上看到这个 http://www.ibm.com/developerworks/cn/linux/l-tsl/ 深受启发。 truss是 Solaris and FreeBSD下的调试工具,可以监视系统调用。而Linux下是用strace,一般是默认安装。如果没有可以用sudo apt-get install strace 来安装(ubuntu下)。 终端中输入: strace -f -T -o vim.strace vim 解释: -f         :除了跟踪当前进程外,还跟踪其子进程。 -o file    :将输出信息写到文件file中 T          :每条系统调 ...
《C++Primer》里说了: string类型支持长度可变的字符串。C++标准库将负责管理与相关的内存,以及提供各种有用的操作。 由此可见,string类型的大小应该是动态可变的,不够的时候可能会扩增,扩增和max_size(),string::size_type的关系我也不是很清楚。 string里有max_size()方法可以查看string对象可以保持的最大字符数。 size()方法和length()方法等效,返回string对象所保持的字符数。 // comparing size, length, capacity and max_size #include <iost ...
char类型占一个字节。所占位数为8位。取之范围为-128~127(补码形式存储)。 10000000~11111111[补码] 关于补码 http://apps.hi.baidu.com/share/detail/44713839 总结就是: 当需要补码的时候,一般是负数(减法转加法) 补码:正数不变,负数是用模(模一般是最大数+1)减去负数的绝对值。 8位2进制的模:1 0000 0000 所以[-128]补 = 1 0000 0000 - 1000 0000  =   1000 0000 ;     [-1]补  =  1 0000 0000 - 0000 0001  =   1111 ...
C++ 可以看这个 http://www.cplusplus.com/doc/tutorial/files/ 我整理下: ofstream    //写文件的流类 ifstream    //读文件的流类 fstream     //读/写文件的流类 这三个类都直接或者间接的继承于istream和ostream.我们平时用的cin是istream类的实例,cout是ostream类的实例,只不过他们是关联显示设备,而不是文件。 使用他们的时候,包含的头文件: #include<iostream.h>  //这样写,里面的函数都是全局函数 #include<fstream.h ...
Global site tag (gtag.js) - Google Analytics