| TaoTao 的个人资料TaoTao 学着舞文弄墨照片日志列表 | 帮助 |
|
5月21日 新的开始,会不会更好?!我不想我不想不想长大
长大后世界就没有花 我不想我不想不想长大 我宁愿永远都笨又傻 我不想我不想不想长大 长大后我就会失去他 我深爱的他深爱我的他 怎么会爱上别个他 让我们回去从前好不好 天真愚蠢快乐美好 我不想我不想不想长大 长大后世界就没有花 我不想我不想不想长大 我宁愿永远都笨又傻 我不想我不想不想长大 长大后我就会失去他 我深爱的他深爱我的他 怎么会爱上别个他 像SHE唱的一样,估计每个人都不想长大,当然原因未必如歌词中所列的那样。
很不幸,昨天度过了我的28岁生日,生日是如何度过的我就不加详述了,因为这个话题很一般,根本无法吸引有品位的看客,也就是您。无非是和几个朋友胡吃海喝一回,找个借口happy一下,这种事情就是像我这样有品位的人也是未能免俗,我想你们也能理解。
既然已经到了这个年龄,有些事情就不得不做了,这是一种客观的规律,客观规律是人所无法抗拒的,所以我顺应天命。比如说,今天上午,星期天,当我体会到睡眠已经充足,肚子已经填饱的时候,忽然就有了一种必须要上网看看的想法,一个很偶然的动作,打开了我尘封已久的MSN Space,也就是一种博客,据说是Web2.0的滥觞。看看上面的年龄还是27,于是我意识到必须改一下了,28就是28,不能骗人。而且,“Space 2005”这个名字让我很没有与时俱进的优越感,当然,如果改成“Space 2006”确实跟上了时代步伐,但是我的想象力,创造力之类重要的指标恐怕就会被大家低估了,所以,“学着舞文弄墨”,这个名字就跃然屏幕上了。
舞文弄墨算是一件高雅的事情,而且必须是有的是时间,有的是闲情逸致才能常常来舞弄。闲情逸致我虽然不多,却也还勉强够用,时间这个东西就很不好说了,大家看看我的blog更新频率就知道了。
再祝俺自己生日快乐!
5月13日 big endian和little endian0、big endian和little endian
big endian和little endian是CPU处理多字节数的不同方式。例如"汉"字的Unicode编码是6C49。那么写到文件里时,究竟是将6C写在前面,还是将49写在前面?如果将6C写在前面,就是big endian。还是将49写在前面,就是little endian。
"endian"这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。
另一个详细点的解释:
目前的存储器,多以byte为访问的最小单元,当一个逻辑上的整理必须分割为物理上的
若干单元时就存在了先放谁后放谁的问题,于是endian的问题应运而生了,对于不同的 存储方法,就有Big-endian和Little-endian两个描述.(这两个术语来自于 Jonathan Swift 的《《格利佛游记》其中交战的两个派别无法就应该从哪一端--小端还是大 端--打开一个半熟的鸡蛋达成一致。在那个时代,Swift是在讽刺英国和法国之间 的持续冲突,Danny Cohen,一位网络协议的早期开创者,第一次使用这两个术语 来指代字节顺序,后来这个术语被广泛接纳了。) 存在“如果说"跟word或者说字长根本就没关系",假设有一数据文件里面有N多数顺 序排布,如果想以Little-Endian format 读入内存某区域,那么应该怎么读?怎么 排?”这样的问题是由于对于endian的实质理解的偏差,endian指的是当物理上的最 小单元比逻辑上的最小单元小时,逻辑到物理的单元排布关系。这里的“有一数据文 件里面有N多数顺序排布”,这个“有一数据”显然不是逻辑上的最小单元,而其中 的“N多数”的一个才是逻辑最小单元,于是可应用楼主表格中的原则排列,而“N多 数”之间的顺序则是由这“N多数”的宿主决定的,比如是你写的程序,这个顺序由你 决定 刚才谈到了,endian指的是当物理上的最小单元比逻辑上的最小单元小时,逻辑到 物理的单元排布关系。咱们接触到的物理单元最小都是byte,在通信领域中,这里 往往是bit,不过原理也是类似的。 实践可以给你更多的经验,比如在一个嵌入式系统的通信协议中,从底层射频驱动 到上层的协议栈全部需要实现,那么很可能遇到多个endian的问题,底层的bit序、 协议层的byte序、应用层的byte序,这些都是不同的概念 Big-Endian 和 Little-Endian 字节排序 字节排序 含义 Big-Endian 一个Word中的高位的Byte放在内存中这个Word区域的低地址处。 Little-Endian 一个Word中的低位的Byte放在内存中这个Word区域的低地址处。 必须注意的是:表中一个Word的长度是16位,一个Byte的长度是8位。如果一个数 超过一个Word的长度,必须先按Word分成若干部分,然后每一部分(即每个Word 内部)按Big-Endian或者Little-Endian的不同操作来处理字节。 一个例子: 如果我们将0x1234abcd写入到以0x0000开始的内存中,则结果为 big-endian little-endian 0x0000 0x12 0xcd 0x0001 0x34 0xab 0x0002 0xab 0x34 0x0003 0xcd 0x12 除了moto的68K系列和dec的sparc是big endian外,常见的cpu都是little endian。ARM同时支持 big和little,实际应用中通常使用little endian。 |
|
|