06 2013 档案

摘要:读《深入理解计算机系统》第二章 信息的表示与处理字节序:大多数intel兼容机采用小端字节序:低字节存放在存储器的低地址,注意是以字节为单位。12345(十进制)低地址--------->高地址0x0000303939 30 00 00 00 网络协议采用大端字节序:高字节存放在存储器的低地址。移位:据说c语言并没有明确定义有符号数何时用算术移位,何时用逻辑移位。但无符号数必须是逻辑移位。引用这位朋友的评论,这个描述比较精确2013-06-21 09:13 | 五岳 “据说”可不好 如果是模棱两可的东西 可以去标准里确认一下这部分内容C99和C11是一样的4. The result of 阅读全文
posted @ 2013-06-20 20:30 _pop 阅读(2693) 评论(2) 推荐(0)
摘要:读《深入理解计算机系统》第二章 信息的表示与处理32位与64位的典型值,单位字节声明32位机器 64位机器char11short int22int44long int48(4?)long long int88char*48float44double88不过long int在VC中32与64位编译器均是4字节,貌似表格中数据也不算很典型啊,所以在vc下除了指针大小不同外,其他都没区别。此外C99新增的long double在标准中只约束了其最小表示范围,比如FLT_MAX、DBL_MAX、LDBL_MAX规定的最低要求均为10^37,所以大多数编译器的double可以精确表示long doub. 阅读全文
posted @ 2013-06-17 20:33 _pop 阅读(859) 评论(0) 推荐(0)
摘要:读《深入理解计算机系统》第二章 信息的表示与处理10进制转换16进制十进制x转换16进制,可以反复用16除x,x=q*16+r,得到的余数r作为16进制的低位,商q作为新的x,反复迭代直到商为0.314156 = 19634*16+12 (C)19634 = 1227*16+2(2)1227 = 76*16+11 (B)76 = 4*16+12 (C)4 = 0*16 +4 (4)结果为0x4CB2C 阅读全文
posted @ 2013-06-17 19:51 _pop 阅读(679) 评论(0) 推荐(0)
摘要:读《深入理解计算机系统》第一章并发concurrent:有多个活动在时间上重叠,称为并发,并不一定要求活动同时执行,可以是交替执行的。并行parallelism:多个活动同时执行。并行的3个层次:1、线程级并行单处理器系统线程只能通过交替执行模拟并行,并发。此外还有超线程,是允许一个cpu执行多个控制流的技术。cpu的某些硬件有多份,比如程序计数器和寄存器,而其他硬件只有1份,比如浮点运算单元。这种处理器切换线程速度很快,在一个线程等待数据加载到高速缓存的时候,可以执行另外一个线程。比如i7处理器可以让一个核执行2个线程,尽量提高核的效率。多处理器则可以利用硬件进行线程级并行。2、指令级并行c 阅读全文
posted @ 2013-06-16 19:55 _pop 阅读(313) 评论(0) 推荐(0)
摘要:读《深入理解计算机系统》第一章进程是操作系统对一个正在运行的程序的抽象,一个系统可以同时运行多个进程,而每个进程都好像在独占地使用硬件。是计算机最重要和成功的概念之一。一个进程由一个或多个称为线程的执行单元组成,运行在进程的上下文中(操作系统跟踪进程所需的所有状态信息,比如寄存器及主存的内容),线程共享同样的代码和全局数据,有独立的堆栈和程序计数器。 阅读全文
posted @ 2013-06-16 17:06 _pop 阅读(192) 评论(0) 推荐(0)
摘要:1/*有一个数组,假如有一百万个数据,其中有一个的值与其他的不同。2如何在最短时间内将这个数据找出来3要求:不要开辟新的使用空间,如使用哈希表4不要使用判断语句,如if5*/67#include"stdafx.h"89//不能一次异或3个,因为比较的结果为0的时候,我们不知道是diffnum等于0还... 阅读全文
posted @ 2013-06-11 16:32 _pop 阅读(787) 评论(1) 推荐(0)