Re: [問題] 一個數字用兩個字表示的方法
看板Prob_Solve (計算數學 Problem Solving)作者rosepong (香)時間14年前 (2011/01/23 12:09)推噓2(2推 0噓 6→)留言8則, 3人參與討論串7/7 (看更多)
不好意思 在這邊請教一下
如果我想要用最少位數(基底可以用數字+英文大小寫 或是可以新增許多符號)
來一個表達10進制的數字 那以下我所想的過程是不是有用的
1.給定一個10進制的數字 將她轉成二進制
example:12035
After Converted 10 1111 0000 0011
2.從最右邊開始 當碰到1 或 0 就標記 1 or 0
然後將後面連續跟前一個相同的1 or 0 取個數
例如先碰到1 後面只有一個1是連續的
所以我就得寫1然後後面標記11
之後碰到0 後面有五個0 就寫05
再來碰到1 後面有四個1 就是14
之後碰到0 後面沒有0 就補一個0 就是00
之後碰到1 後面沒了 不用補
所以我的數字可以表達為100415011
3.解碼 從右邊開始
奇數位一定是代表是0 or 1
偶數為一定是代表0 or 1的個數(這邊可以帶任意基底)
變成110000001111101
反轉後
101111100000011
12035轉成hex 是0x2F03
經過這樣轉換後是 100415011
我不清楚的地方是這種轉換法好像在某些特定的數字占有優勢
但是是否真的比把十進制轉成hex有效.
一點小小想法 請問各位版有,
如有任何看不懂,或是錯誤,等不吝指教。
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.34.177
→
01/23 12:11, , 1F
01/23 12:11, 1F
推
01/23 13:49, , 2F
01/23 13:49, 2F
→
01/23 13:49, , 3F
01/23 13:49, 3F
→
01/23 13:50, , 4F
01/23 13:50, 4F
→
01/23 14:56, , 5F
01/23 14:56, 5F
→
01/23 14:56, , 6F
01/23 14:56, 6F
推
01/23 15:58, , 7F
01/23 15:58, 7F
→
01/23 15:59, , 8F
01/23 15:59, 8F
討論串 (同標題文章)
完整討論串 (本文為第 7 之 7 篇):
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章