08 2012 档案
摘要:谈效率unbuffered I/O(read write)#include <unistd.h>ssize_t read(int filedes, void *buf, size_t nbytes);ssize_t write(int filedes, void *buf, size_t nbytes);这里buf的大小严重影响效率,如果buf为1的话,比起最优大小可以差近50倍。当buf为4096个字节时效率最高(不一样的系统结果也不一样)。这里的read和write都是直接调用内核的系统调用。(内核怎么做的先不理会了)标准 I/O#include <stdio.h>
阅读全文
摘要:无符号的整数以原码的形式存在于内存中,假如此整数占1个字节(为了简化),从小到大为0-256,对应二进制为0000 0000 -- 1111 1111。有符号的整数正数以原码的形式存在于内存中,负数以补码的形式存在于内存中,正数从1-127,对应二进制为0000 0001--0111 1111;负数从小到大为-128到-1,1000 0000--1111 1111。这样做的原因是为了,1.避免了出现正0和负0这两个相等的数字。2.可以将减法转换成加法处理。1-1 0000 0001 + 1111 1111 = 0000 0000溢出位不管。忘了它的类型看看如何不通过中间变量去交换两个变量的值我
阅读全文