設萬維讀者為首頁 萬維讀者網 -- 全球華人的精神家園 廣告服務 聯繫我們 關於萬維
 
首  頁 新  聞 視  頻 博  客 論  壇 分類廣告 購  物
搜索>> 發表日誌 控制面板 個人相冊 給我留言
幫助 退出
 
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, 謝謝諸位閱讀.

瀏覽(2994) (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
訪問總量: 1,022,161 次
點擊查看我的個人資料
Calendar
最新發布
· 為什麼現在沒有胡耀邦?
· 說假話,也要有底線
· 台灣公車上的溫馨一幕
· 我們的房產經紀
· 新西蘭和澳大利亞的動物保護
· 走火入魔的環保
· 我支持漲點價
分類目錄
【埃及-約旦】
· 蘇埃友誼萬歲!
· Made in China
· 古埃及 – 科學和偽科學之集大成
· 偽科學比沒有科學更可怕
· 埃及導遊賈寶玉
· 真真假假的阿部辛貝勒神廟
· 為什麼阿斯旺的酒店都在尼羅河東
【美國政治】
· 我支持漲點價
· 中美兩國處理貪官的區別
· 法制的讚歌
· 誰之罪
· 欲加之罪,何患無辭
· DEI 會促進生產力嗎?
· 自絕於選民!
· 自絕於選民!
· 如此保護
· 民主黨(?)縱容川普胡鬧
【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 能減少貿易赤字?
【人間 -- 續一】
· 新西蘭和澳大利亞的動物保護
· 美國的大醫院 – Kaiser
· 橋牌中的運氣(續)
· 向桃園機場致敬!
· 好記性不如爛筆頭?
· 苦不能苦孩子,窮不能窮教育
· 酒文化
· 買車記
· 電影懷舊
· 燒菜“經驗”點滴
【無題】
· 神醫
· Waterpick
· 《藍色天夢》點評
· Obama Care 的報稅 – 尋求幫助
· 鋼琴碩士和博士
· 赫魯曉夫令人尊敬的一件往事
· 打橋牌和上廁所
· 聰明的車夫
· No School !
· 一段不錯的繞口令
【(不是我的)童年 -- 續一】
【科普講座 -- 續二】
· 走火入魔的環保
· 深不可測的貝加爾湖
· 一道普通物理題
· 美國的天價賠償
· 老調重彈 – 中國為何得不到諾貝
· 我的題都做不出,更何況奧數
· 感覺:人類大腦的專利
· 為什麼AI無法在橋牌戰勝人類?
· 假新聞的“諾貝爾獎”
· 統計樣本的笑話
【科普講座 -- 續一】
· 一次真正的忽悠 -- 雙周房貸
· 論“房貸忽悠”之忽悠
【科普講座】
· “不是數學家”的煩惱
· “永久”郵票
· 制度優勢
· 又聞蟬鳴
· 獨行俠張益唐 -- 轉載自戴世強教
· 做一回事後諸葛亮
· 半路上殺出個程咬金
· 考試和做研究(4) 遲到創造了歷
· 考試和做研究(3)橋牌博士論文
· 考試和做研究(2)
【華爾街的數學】
· 《華爾街數學》出版以後。。。
· 華爾街的數學(結束篇) 光輝的
· 華爾街的數學(19) 鍛羽而歸
· 華爾街的數學(18) 什錦拼盤
· 華爾街的數學(17) 橘子和蘋果
· 華爾街的數學(16)蘋果和橘子
· 華爾街的數學(15)“標準”手冊
· 華爾街的數學(14)“塗改”數據
· 華爾街的數學(13)假“公”濟私
· 華爾街的數學(12) 第三者的模
【街談巷議】
· 我見過廢話,但沒見過這樣的廢話
· 複姓
· 林彪不見了
· 長壽之國 -- 美國!
· 太太的高見
· 高手在民間!
· 廣州地鐵的鬧劇
· 下有對策,上無政策?
· 拼死吃河豚
· 商人的智慧
【飲食文化】
· 菜盲說米其林
· 小籠包史話
· 母親的八寶辣醬
· 倚老賣老
· 搭便車
· 江浙點心和統一大業
· 糖藕 (非食譜)
· 蹄筋(非食譜)
【我的大學】
· ChatGPT 和 Deep Seek 都錯了!
· 我和世界難題同齡
· 暗示的力量
· 三強韓趙魏,九章勾股弦
· 慘烈的考試
· 重刑監獄犯人的數學難題
· 魚骨頭的故事
· 數學也有假冒偽劣
· 無名小卒和Nash大師的一段“交往”
· 別開生面的面試
【人間】
· 台灣公車上的溫馨一幕
· 我們的房產經紀
· 台灣健保萬歲!
· 當書中出現錯誤
· 你想不到的義工
· 丁惠民先生千古!
· 卡特總統生日快樂!
· 幽默的老闆
· 買車記
· 個人自掃鄰家雪
【(不是我的)童年】
· 女兒“學”元素周期表
· 一鳴驚人
· 布穀鳥又叫了
· 誰是老闆?
· Potty 交響曲
· "重賞"之下, 必有&quo
【往事越千年】
· 為什麼現在沒有胡耀邦?
· 馬年說馬季
· 班門弄斧
· 瑪德琳餅乾的故事
· 蔣經國的偉大
· 版權所有!!!
· 一身真偽有誰知
· 太湖美
· 人間自有真情在
· 蔣介石為胡適寫的輓聯
存檔目錄
2026-05-10 - 2026-05-10
2026-04-11 - 2026-04-17
2026-03-21 - 2026-03-21
2026-02-16 - 2026-02-26
2026-01-08 - 2026-01-17
2025-12-02 - 2025-12-11
2025-11-09 - 2025-11-09
2025-10-01 - 2025-10-27
2025-09-10 - 2025-09-10
2025-08-17 - 2025-08-17
2025-07-07 - 2025-07-23
2025-06-16 - 2025-06-22
2025-04-02 - 2025-04-25
2025-03-01 - 2025-03-30
2025-02-08 - 2025-02-17
2025-01-09 - 2025-01-09
2024-12-04 - 2024-12-31
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-2026. Creaders.NET. All Rights Reserved.