Halley.G @ 2008-01-11 00:25

在泡了整整几天图书馆猛看高数之后,总算找回了读书和做题的乐趣。
重修考试也很顺利,相当开心。虽然复习得浑身疲惫。
之前考了6次也从没敢想象过自己能把一张高数试卷在规定时间里稳稳当当搞定……
到这第7次的复习终于得到一份特别的动力呢。Thank You My Princess~
期待成绩刷新中……不出意外应该可以在时隔两年后终于又享受到没有挂科的感觉……

大三开始后,对写程序写文档之流就越来越厌倦……
挣扎了一学期还是找不回以前的激情,很迷茫。
最近各个项目、文档截止日一个个临近,于是我也就胸闷了。

当年一志愿考进软件学院,简直是如鱼得水般兴奋,想想有多少人进了自己没兴趣的专业。
以前还曾在某个紧张的期末在个性签名里大言不惭“心如止水”,现在倒是浮躁得很,工作时定力极差。
终于兴趣也被磨平了么?直觉大概不是这么一回事,但又说不上来。

暂时只能不断告诉自己,再过几天就解放了,坚持一下!
等熬过这几天,再好好想想怎么把面对屏幕时的该有的拼劲找回来。

浪费了几分钟还写得没点建设性。
算是平复一下心态。
赶紧回去赶项目去了。


 
Halley.G @ 2007-12-24 23:56

  • To all my friends: 圣诞快乐~
  • A simple fact discovered recently: 我对嘉定校区没有爱。
  • Another fact: Windows Server 2008 不错,期待明年2月正式版。 
  • Important: 很快又要跟那个叫“高等数学B(下)”的家伙约会了。三年来的第7次了,这次的表白一定会被接受的吧(囧rz)……Fighting!
  • Memo: 软件项目管理期末项目·计算机系统结构专题研究学习报告·OOAD with UML Assignment Part 4·J2EE 项目·编译原理复习·计算机系统结构复习。其实还有很多事想做、很多新的构思想实现……但是好像应该先解决好眼前的问题……
  • Waited for several years: 轨道交通8号线终于要通车了。
  • Finally no more loneliness in Christmas Day. Feeling so happy and looking forward to New Year's Day.


 
Halley.G @ 2007-12-12 23:11

B2. European Article Number 8 (EAN-8)

上一篇笔记介绍了 EAN 的完整编码形式 EAN-13。这一篇则将介绍 EAN-8 这种缩短版的编码。
EAN-8 常见于包装体积较小、难以按标准尺寸印刷 EAN-13 条形码的商品上。

结构

EAN-8 非常类似 EAN-13,只是各个部分都有所精简。它将 8 个数字分为 4 个部分进行编码。

·系统码 (System Code)。最前面的 2 个数字,用于表示商品所注册的所在国家。
·产品码 (Product Code)。包含 5 个数字。
·检验码 (Check Digit)。一个 1 位的校验用数字。

编码

对 EAN-8 编码前先把 8 个数字分成两段处理,左边四个(左资料码)和右边四个(右资料码)。
对于每个数字,转换成条形码有 2 种形式,分别称为 L、R。R 是 L 的反码。

数字

L 编码

R 编码

0

0001101

1110010

1

0011001

1100110

2

0010011

1101100

3

0111101

1000010

4

0100011

1011100

5

0110001

1001110

6

0101111

1010000

7

0111011

1000100

8

0110111

1001000

9

0001011

1110100


不同于 EAN-13 的左资料码编码方式(由第一位数字决定,第一位数字不被条形化),EAN-8 的资料码编码方式是唯一的。

左资料码

右资料码

LLLL

RRRR


左护线、中线和右护线的定义和作用均和 EAN-13 相同。

校验

查阅资料的过程中发现,网上有很多地方关于 EAN-8 的校验的说法是“和 EAN-13 相同”。
这个说法是很模糊的。究竟如何相同?8位数字和13位数字能相同么?
难道是和 EAN-13 一样是奇数位和加上三倍偶数位和,然后模10计算,再用10减?
事实上在我开发解码程序的过程中就有过误解,一度认为是 {10-[(a1+a3+a5+a7)+(a2+a4+a6)*3]%10}%10,结果发现写出来的程序读码始终不对,通不过校验。

事实上,EAN-8 校验位的计算方法是,在8位数字前补5个“0”,然后按 EAN-13 的方式校验。
让我们回顾一下 EAN-13 的校验方式。
全部13位数字分别设为 a1, a2, ..., a10, a11, a12, c。
c1 = a1 + a3 + a5 + a7 + a9 + a11 数位之和。
c2 = (a2 + a4 + a6 + a8 + a10 + a12) * 3 数位之和的三倍。
c3 = (c1 + c2) % 10 即上述两数之和的个位。
c = (10 - c3) % 10 校验码与c3和为10。但若c3为0,c也为0。

那么,设 EAN-8 的8位数字分别为 b1, b2, ..., b6, b7, c,连同5个补足的“0”代入上面的式子中,可以得到:

c1 = 0 + 0 + 0 + b2 + b4 + b6
= b2 + b4 + b6
即 EAN-8 的数位之和。
c2 = (0 + 0 + b1 + b3 + b5 + b7) * 3
= (b1 + b3 + b5 + b7) * 3
即 EAN-8 的数位之和的三倍。
c3 = (c1 + c2) % 10 即上述两数之和的个位。
c = (10 - c3) % 10 校验码与c3和为10。但若c3为0,c也为0。

因而,EAN-8 在计算校验位时,奇偶实际上和 EAN-13 刚好相反。
所以个人觉得简单地说计算方式“和 EAN-13 相同”或者“差不多”是很容易造成误解的……



 
Halley.G @ 2007-12-09 18:40



同济大学 Seekers 团队携 RealBank 虚拟现实三维语音银行系统,在 IBM 大型主机技术 2007 全国应用大赛决赛上获得“最佳创意奖”。作为团队一员,比赛中表现自我评价尚可……

整个北京之行的过程就不讲了,回来一大堆事情等着忙,快晕了……



 
Halley.G @ 2007-12-02 09:52

今晚坐 T104 次列车去北京呆几天,作为 RealBank 开发团队成员参加 IBM 校园主机技术大赛决赛。

为了这个破玩意儿可真是劳命(开发调试做视频做图写文档彩排)伤财(整套西装革履行头)……
说实话没激情啦已经。
算了~ 希望能有个好结果,毕竟自己也出了不少力,也不想白费咯~


 
点击这里查看更多我的日志...


Copyright © 2004-2009 Halley.YculBlog.com All Rights Reserved.