设万维读者为首页 万维读者网 -- 全球华人的精神家园 广告服务 联系我们 关于万维
 
首  页 新  闻 视  频 博  客 论  坛 分类广告 购  物
搜索>> 发表日志 控制面板 个人相册 给我留言
帮助 退出
 
0+1  
有感而发, 可多可少  
网络日志正文
华尔街的数学(4) 52进制 2009-08-28 17:39:41

            公司购买了一批新的房贷数据, 贷款编号用6个英文字母, 大小写可以区分. 公司为方便今后管理, 决定采用现有的数据系统. 现有的系统可以容纳10个符号, 但无法区分大小写. 对于那些管数据的同事来说, 这实在是太难了. 他们于是找到我, 问能不能帮帮忙, 一顿饭的酬劳. 我一看就觉得没问题. 提出先吃饭, 他们同意了.一行四人在华尔街附近找了家中档的西餐馆, 菜单上许多东西恐怕用中文写我都看不懂, 他们就争先恐后地帮我解释.

 

菜点好后, 还没上来, 我已经就有主意了. 小写a-z.0-25表示, 大写A-Z 26-51 表示, 每逢52进一位, 所以原来的编号就成了52进制的6位数. 然后我把它转换成10进制的10位数. 52 6 次方是多少, 我没带计算器自然不知道, 但粗粗估一下和1010次方相当接近.

 

饱餐一顿之后, 回公司后一坐下, 我用计算器按了一下, 不好, 526次方是19打头的11位数. 饭已经吃了, 不做出来不好交代. 还好,没多久我就想出来了. 后面9 位用数字, 前面两位用英文字母 A-T, 正好代表0-19.

 

当我把这十多年前的杰作写出来, 正在得意, 网友HPC指出实际上有更简单的解法. 6位英文字母尽管已不能辨认大小写, 还是照样保留, 另外用一个6位数的二进制数(0或1)来代表6个字母的大小写. 再把这个数转换成10进制的数, 最大为63,加在这6个英文字母前边, 就可唯一地表达原来的房贷编号. 这个方法从许多方面来说, 都优于我的方法:

(1) 最大程度地保留了原来的信息, 增加了可读性.

(2) 只用了8位.

(3) 转换和逆转换过程中, 计算工作量都大大减少.

 

注:最后一段, 已根据HPC的评论重写. 写这个系列, 还能学到新的东西, 是完全没有预料到的, 真可谓种瓜得豆. 谢谢HPC, 谢谢诸位阅读.

浏览(2933) (0) 评论(10)
发表评论
文章评论
作者:前提与假设 留言时间:2009-08-29 15:26:01
看SB卖弄智力,想打人啊。

你的机器虽然不能表示小写字母, 但是可以用~!@#$%^&*()_+{}|:"<>?`-=[]\;',./代替啊。

你数数, 比26个字母还多。

PHD,永久脑袋损坏啊

我最看不起那些在白人面前有智力优越感的人。

你也不想想,真正的较高智力的白人会愿意与我们这些亡国奴一起工作领一样的薪水?
回复 | 0
作者:西岸 留言时间:2009-08-29 11:01:01
看到五味有不少人捧场,看来不是涉及拱猪的问题,所以进来看一哈。但不太理解为什么弄得这么复杂,因为这是个简单的数据结构问题,属于COMPUTER SCIENCE本科的基本问题,而且是很简单的问题。只能说你的那些同事不是干这行的。

如果没理解错,问题是用十位字符串结构表示26个字母代表的6位字符串,能区分大小写。而原有的数据结构不能区分大小写。

首先ASCII码有大小写之分,如果应用系统不区分,只能是有前端处理(为了方便检索的输入)。简单的也是最可靠的处理方法就是BYPASS这个处理功能,等于简化软件。这是所有系统设计首先会考虑的。

如果不能减软件功能,只能像你这里说的那样用数据替代方法表示,那就是不能减但可以加转换功能的概念。那么用六位原有的自带有大小写区别的符号串,不需要任何改动,在后面加一位大小位置写识别符即可,即总共需要7位。一位字符的识别符有8个BIT,可以表示8个位置的大小写(因为不涉及显示问题),用MASKS可以很方便地区分。

但这等于在数据输入后进入数据结构前有个转换功能,数据取出后输出前有个逆转换功能(你的用数字进制的方法也是同理),从系统设计角度讲都不是最优更不是最简单的方法。另外这种设计还要考虑与其他以前的数据兼容的问题,虽然并不复杂,但毕竟是多一道手续。

这是软件本科生档次的问题,但如果问题理解错了,算我没说。
回复 | 0
作者:0+1 留言时间:2009-08-29 09:28:18
Mr. HPC: I read again and get your idea. It seems better than mine. Thanks.
回复 | 0
作者:0+1 留言时间:2009-08-29 09:23:26
Mr. HPC: Yes, there must be many solutions, actually infinity theoretically. I just pick one easiest for me and for them. To be hornest, I am not familiar the technique you introduce. The story was about 12 years old now and I may not spend time to learn now. Thanks forread and comment.
回复 | 0
作者:HPC 留言时间:2009-08-29 09:15:54
some corrections for my previous comments:

00010101 should be 0x15. so the mortgage numbers should be 0015ABCDEF 0015abcdef or 0035ABCDEF 0035abcdef
回复 | 0
作者:HPC 留言时间:2009-08-29 08:54:41
If I understand correctly, in fact, your problem is that the mortgage number's upper/lower case information disappears if the mortgage number is stored in your current system as-is.

For example, original mortgage number "aBcDeF" and "ABcDeF" will appear the same as "ABCDEF" or "abcdef" (depends on the upper/lower case conversion logic in your system) if these two original mortgage numbers are stored in your current system's database.

To solve the problem, you can use two Hex numbers to carry the upper/lower case information to make the mortgage number unique in your current system.

Let's still use "aBcDeF" as an example. If you use binary bit value '1' to represent upper case, '0' to represent lower case, binary 00010101 (the highest two bits do not matter) carries to upper/lower case information for mortgage number "aBcDeF". 00010101 is Ox16. So the mortgage number can be encoded as "0016ABCDEF" (ten characters) or "0016abcdef" (depends on the upper/lower case conversion logic in your system) to be stored in your current system. Obviously the "ABcDeF" can be encoded as "0036ABCDEF" or "0036abcdef".

This solution is far more simpler. It provides an intuitive mapping between the new mortgage number to the original number which is very important for reconsoliation.

Probably Phds always make things over-complicated.
回复 | 0
作者:0+1 留言时间:2009-08-29 08:40:53
老马请将就, 五味就有读者说这种层次的故事有趣易懂.
回复 | 0
作者:haohaohaoA 留言时间:2009-08-29 06:25:49
拜读了您的一十二篇“有感而发”。。。十分精彩。。。期待中。。。
回复 | 0
作者:糊涂 留言时间:2009-08-29 05:51:01
到此一游
回复 | 0
作者:老马识途 留言时间:2009-08-28 18:23:28
雕虫小技,何足道哉。
回复 | 0
我的名片
0+1
注册日期: 2009-08-01
访问总量: 791,001 次
点击查看我的个人资料
Calendar
最新发布
· 管的太宽了!
· 战俘 – 一个沉重的话题
· 你想不到的义工
· Made in China
· 活该!
· 古埃及 – 科学和伪科学之集大成
· 伪科学比没有科学更可怕
分类目录
【埃及-约旦】
· Made in China
· 古埃及 – 科学和伪科学之集大成
· 伪科学比没有科学更可怕
· 埃及导游贾宝玉
· 真真假假的阿部辛贝勒神庙
· 为什么阿斯旺的酒店都在尼罗河东
【美国政治】
· 管的太宽了!
· 活该!
· 都不是好东西!
· 大厦将倾,独木能支
· 封口费造假帐合算吗?
· Hogan 州长
· “好东西”?
· 另类的清廉
· 另类的贪腐
· 都不是好东西
【2024奥运】
· 妄议奥运(二)
· 妄议奥运(一)
· 她又来了!
· 小国的奥运金牌
· 这个冠军不孤独
· 既生瑜,何生亮
· 我看着他打破世界记录
· 祝贺美国终于“第一名”
· 二比二
· 全红婵和周洋
【难题】
· “难题”(3)-- 意外的惊喜(解答
· “难题”(3)-- 意外的惊喜
· “难题”(2) -- 鸡还是蛋 (解答
· “难题”(2)-- 鸡还是蛋
· “难题”(1)-- “简单”的极限题(
· “难题”(1)-- “简单”的极限题
【奇葩总统】
· 奇葩总统(1)- 股票总统
【最强大脑】
· 最强大脑 -- 色块迷踪(续)
· 最强大脑 -- 色块迷踪
· 最强大脑 -- 复活
· 最强大脑 -- 迷走点线
· 最强大脑 -- 珍稀足迹
· 最强大脑 -- 龟文古迹
· 最强大脑 -- 知己不知彼
· 最强大脑 -- 数字谜盘
· 最强大脑 -- 入场式
【书摘】
· 《华尔街数学》书摘 -- 暗示的力
· 《华尔街数学》书摘 -- 饮水不忘
· 《华尔街数学》书摘 -- 书缘
· 华尔街数学 -- 我的数学人生
【桥牌“外交”】
· 桥牌“外交”-- H先生
· 桥牌“外交”-- C先生
· 桥牌“外交”-- R先生
· 桥牌“外交”-- 引子
【脑筋不用急转弯 -- 续二】
· 24史
· 科学家的思考
· 朝四暮三
· 纸上谈兵?
· 为什么床铺死都不公布税表
· 质疑测量金字塔高度
· 如何用数学手段消除循环赛假球
· 如何尽快在大学新生中找出乙肝患
【我的大学 -- 续一】
· 太太太感谢您了!
· 饮水不忘掘井人
· 我的复旦梦
· 世界读书日
· 暗示的力量(2)
· 苏步青大师
· 久有凌云志,重翻几何书
· 人名不译
· 生成函数 -- 杀牛的鸡刀
· 欧拉定理的证明
【人间 -- 续二】
· 战俘 – 一个沉重的话题
· 我自认为相当理智和客观
· 一叶知秋
· 锦上添花和雪中送炭
· 异曲同工(三则)
· 社区的地球日
· 淡泊天涯
· 源于生活,高于生活
· 得理不饶航空公司
· 我几乎撒谎 -- 与大家共勉
【脑筋不用急转弯 -- 续一】
· 从统计学看国人的冷漠
· 一波四折
· 考考大家的想象力 (附“答案”)
· 毒酒和老鼠 -- 据 KM 说是 GS 的
【往事越千年 -- 续一】
· 昆仑关大捷和《血染的风采》
· 歌剧演员和歌唱演员
· 我的超级记性
· We are doing the impossible
· 上海人的体育辉煌
· 大浪淘沙
· 我为革命下厨房
【Alaska 之旅】
· Alaska 之旅(3)--前人栽树,后
· Alaska 之旅(2)--一国两制害死
· Alaska 之旅(1)-- 终于露馅
【莫谈国是】
· 打死卞校长需要老毛圣旨吗?
· 蛮不讲理知“劲草”
· 重贴领导指示
· Hooter
· 我为“86万”叫好
· 领导指示。。。
· 重要的一年
· 随机抽查
· 三位知识分子的遗产
· 为公布100名红色通缉人员叫好
【(不是我的)童年 -- 续一】
· 小朋友的高见
· 这次不扣钱
· 女儿的“科研成果”
· 一家三口数学竞赛,我居然只拿了
· 活学活用
· Email from Santa
· “著名”泥塑艺术家
· 女儿的幽默
· 小狗不会告状
· 美国校车补遗
【脑筋不用急转弯】
· 气死数学家
· 好人坏人
· 抽水马桶史话 -- 山寨版
· 前几天,我打了一幅臭牌
· 911 能减少贸易赤字?
【人间 -- 续一】
· 桥牌中的运气(续)
· 向桃园机场致敬!
· 好记性不如烂笔头?
· 苦不能苦孩子,穷不能穷教育
· 酒文化
· 买车记
· 电影怀旧
· 烧菜“经验”点滴
· 一次难忘的音乐会
【无题】
· Waterpick
· 《蓝色天梦》点评
· Obama Care 的报税 – 寻求帮助
· 钢琴硕士和博士
· 赫鲁晓夫令人尊敬的一件往事
· 打桥牌和上厕所
· 聪明的车夫
· No School !
· 一段不错的绕口令
· Everyday is weekend
【(不是我的)童年 -- 续一】
【科普讲座 -- 续二】
· 统计样本的笑话
· 欧几里得21世纪的学生
· GDP和幸福指数
· 给电动车泼点冷水
· 信用卡的保护程序
· 自动驾驶
· “内行”的“外行”人之所见
· 精算师的风采
· 我说文理相通
· 人名不译
【科普讲座 -- 续一】
· 一次真正的忽悠 -- 双周房贷
· 论“房贷忽悠”之忽悠
【科普讲座】
· “不是数学家”的烦恼
· “永久”邮票
· 制度优势
· 又闻蝉鸣
· 独行侠张益唐 -- 转载自戴世强教
· 做一回事后诸葛亮
· 半路上杀出个程咬金
· 考试和做研究(4) 迟到创造了历
· 考试和做研究(3)桥牌博士论文
· 考试和做研究(2)
【华尔街的数学】
· 《华尔街数学》出版以后。。。
· 华尔街的数学(结束篇) 光辉的
· 华尔街的数学(19) 锻羽而归
· 华尔街的数学(18) 什锦拼盘
· 华尔街的数学(17) 橘子和苹果
· 华尔街的数学(16)苹果和橘子
· 华尔街的数学(15)“标准”手册
· 华尔街的数学(14)“涂改”数据
· 华尔街的数学(13)假“公”济私
· 华尔街的数学(12) 第三者的模
【街谈巷议】
· 拼死吃河豚
· 商人的智慧
· 在这儿,没有知遇之恩
· 部分大于整体
· 白草的战争逻辑
· 米饭里的沙子
· 吃力不讨好
· 丁惠民之问
· 贪官的智慧
· 最使我动容的一句话
【饮食文化】
· 小笼包史话
· 母亲的八宝辣酱
· 倚老卖老
· 搭便车
· 江浙点心和统一大业
· 糖藕 (非食谱)
· 蹄筋(非食谱)
【我的大学】
· 三强韩赵魏,九章勾股弦
· 惨烈的考试
· 重刑监狱犯人的数学难题
· 鱼骨头的故事
· 数学也有假冒伪劣
· 无名小卒和Nash大师的一段“交往”
· 别开生面的面试
· 我的第一次 0 + 1
· 大师的风采
· 桥牌博士
【人间】
· 你想不到的义工
· 丁惠民先生千古!
· 卡特总统生日快乐!
· 幽默的老板
· 买车记
· 个人自扫邻家雪
· 不说英语的留学生
· 多亏没有简体字
【(不是我的)童年】
· 女儿“学”元素周期表
· 一鸣惊人
· 布谷鸟又叫了
· 谁是老板?
· Potty 交响曲
· "重赏"之下, 必有&quo
【往事越千年】
· 瑪德琳饼干的故事
· 蒋经国的伟大
· 版权所有!!!
· 一身真伪有谁知
· 太湖美
· 人间自有真情在
· 蒋介石为胡适写的挽联
· 怀念胡耀邦
· 我家的“阿庆嫂”
· 我的英语老师
存档目录
2024-11-02 - 2024-11-29
2024-10-01 - 2024-10-31
2024-09-02 - 2024-09-26
2024-08-01 - 2024-08-31
2024-07-17 - 2024-07-29
2024-06-30 - 2024-06-30
2024-05-11 - 2024-05-30
2024-04-13 - 2024-04-17
2024-03-08 - 2024-03-08
2024-02-05 - 2024-02-11
2023-11-09 - 2023-11-09
2023-10-04 - 2023-10-18
2023-08-06 - 2023-08-06
2023-07-01 - 2023-07-28
2023-06-27 - 2023-06-27
2023-05-01 - 2023-05-21
2023-04-09 - 2023-04-23
2023-01-09 - 2023-01-22
2022-12-17 - 2022-12-17
2022-11-09 - 2022-11-19
2022-10-16 - 2022-10-21
2022-09-01 - 2022-09-10
2022-07-14 - 2022-07-25
2022-03-29 - 2022-03-29
2021-12-27 - 2021-12-27
2021-10-30 - 2021-10-30
2021-08-10 - 2021-08-10
2021-07-23 - 2021-07-23
2021-06-07 - 2021-06-28
2021-04-05 - 2021-04-05
2021-03-05 - 2021-03-10
2020-12-03 - 2020-12-30
2020-11-01 - 2020-11-26
2020-10-05 - 2020-10-24
2020-09-03 - 2020-09-20
2020-08-14 - 2020-08-31
2020-07-05 - 2020-07-24
2020-06-08 - 2020-06-08
2020-05-13 - 2020-05-27
2020-04-02 - 2020-04-30
2020-03-05 - 2020-03-26
2020-02-23 - 2020-02-23
2019-12-31 - 2019-12-31
2019-11-11 - 2019-11-24
2019-10-14 - 2019-10-18
2019-09-13 - 2019-09-24
2019-06-10 - 2019-06-10
2019-05-28 - 2019-05-28
2019-04-03 - 2019-04-28
2019-03-01 - 2019-03-14
2019-02-08 - 2019-02-23
2019-01-22 - 2019-01-28
2018-11-06 - 2018-11-08
2018-10-21 - 2018-10-21
2018-09-04 - 2018-09-28
2016-08-11 - 2016-08-11
2015-11-08 - 2015-11-22
2015-09-05 - 2015-09-27
2015-07-26 - 2015-07-27
2015-06-14 - 2015-06-14
2015-05-25 - 2015-05-30
2015-04-11 - 2015-04-11
2015-03-01 - 2015-03-02
2015-02-28 - 2015-02-28
2014-05-10 - 2014-05-10
2014-04-20 - 2014-04-20
2014-02-01 - 2014-02-22
2013-11-23 - 2013-11-23
2013-10-13 - 2013-10-19
2013-09-06 - 2013-09-14
2013-08-11 - 2013-08-31
2013-07-13 - 2013-07-23
2013-06-09 - 2013-06-09
2013-04-17 - 2013-04-21
2013-03-02 - 2013-03-02
2013-02-09 - 2013-02-23
2012-12-01 - 2012-12-29
2012-11-19 - 2012-11-28
2012-10-21 - 2012-10-21
2012-09-21 - 2012-09-21
2012-08-01 - 2012-08-03
2012-04-14 - 2012-04-14
2012-03-05 - 2012-03-05
2012-02-25 - 2012-02-26
2012-01-14 - 2012-01-28
2011-12-27 - 2011-12-27
2011-11-06 - 2011-11-20
2011-10-21 - 2011-10-29
2011-09-26 - 2011-09-26
2011-08-25 - 2011-08-27
2011-07-31 - 2011-07-31
2011-05-21 - 2011-05-21
2011-04-09 - 2011-04-21
2011-03-12 - 2011-03-12
2011-01-22 - 2011-01-31
2010-11-01 - 2010-11-10
2010-10-09 - 2010-10-12
2010-09-26 - 2010-09-30
2010-08-06 - 2010-08-28
2010-07-12 - 2010-07-25
2010-06-05 - 2010-06-19
2010-05-01 - 2010-05-30
2010-04-02 - 2010-04-24
2010-03-05 - 2010-03-26
2010-02-05 - 2010-02-26
2010-01-05 - 2010-01-27
2009-12-04 - 2009-12-29
2009-11-06 - 2009-11-27
2009-10-02 - 2009-10-30
2009-09-04 - 2009-09-25
2009-08-01 - 2009-08-30
 
关于本站 | 广告服务 | 联系我们 | 招聘信息 | 网站导航 | 隐私保护
Copyright (C) 1998-2024. Creaders.NET. All Rights Reserved.