有趣的二進位制演算法小魔術

2021-06-16 05:06:10 字數 1131 閱讀 9656

你對星座有興趣嗎?傳說星座與人的性格、命運、愛情、事業、友情、家庭都有緊密聯絡,不過魔術師說,那些都是浮雲。「我今天為你表演乙個靠譜的,我要用心 靈來感知你的星座。如果你對星座一無所知,就先看一下下面這張表吧,一年一共有十二個星座,你屬於哪乙個星座取決於你的出生日期。」

這個魔術其實很簡單,魔術師會先後展示給觀眾 a、b、c、d 四張,每一次觀眾只需要仔細看一看,自己的星座有沒有位列其中。

舉個例子,如果你是史上最不幸的、每四年才可以過一次生日的那個人,出生日期是 2 月 29 日,那你的星座一定是雙魚座。這樣,你的星座只有在 c 和 d 中才可以看到,在 a、b 中都看不到。把這個結果告訴魔術師,魔術師經過一番心靈感應後,就可以確定你是雙魚座。

對於不明真相的圍觀者來說,這個魔術會顯得很神奇。不過,一部分理工男卻能一眼看穿魔術的蹊蹺之處。魔術師具體的做法是,首先在心裡安裝乙個「計數 器」,一開始數字為 0。如果你的星座出現在了卡片 a 中,魔術師就會在計數器上加 1,否則計數器數字不變;如果 b 中有你的星座,他就會再加上 2 ; c 中有你的星座,計數器就加上 4; d 中有你的星座,計數器就會加 8。計數器最後得到的數字就是答案了。比如按照剛剛那位「生日帝」告訴魔術師的結果,計數器的數字就是 4 + 8 = 12。然後,讓文章開頭那張圖中隱藏的數字顯示出來:

數字對應的結果就是心靈感應到的星座了。

正常情況下,數字 12 可以寫成 1×10 + 2×1,其中 1 是十位數字,2 是個位數字。如果這個數字更大,還會有百位、千位等等。這些數字的單位從小到大分別是 1、10、100、1000⋯⋯

可是我們還可以用另一種方式來表示乙個數,就是魔術師所用的方式——二進位制。在二進位制中,12 = 1×8 + 1×4 + 0×2 + 0×1,在這裡,數字的單位由 1、10、100、1000 變成了 1、2、4、8,同時每個數字上的數字也由 0 到 9 十種變為了 0 和 1 兩種,12 也就可以用 1100 來表示了。卡片 a、b、c、d 分別是從小到大的 4 個數字,由於 12 號星座——雙魚座——的二進位制表達是 1100,因此雙魚座就只在卡片 c 和 d 上出現。在四張卡片上指認星座的時候,你也就把星座對應的數字的二進位制表達偷偷洩露給了魔術師,如果你告訴魔術師有,就相當於告訴他了那一位數字是 1,反之,那一位數字就是 0。

二進位制的用途非常廣泛。計算機正是像這位魔術師一樣,用二進位制來表示各種數字。

**【

C 有趣的二進位制

小新在學c語言的時候,鄺老師告訴他double型別的資料在表示小數的時候,小數點後的有效位是有限的,但是沒有告訴他這是為什麼,後來他發現0.1的二進位制是乙個無限迴圈小數0.000110011001100110011001100 如果只取27位小數,再轉換成十進位制的話就變成了0.099999994...

二進位制演算法

首先是6個二進位制的運算子 運算子 含義 描述 按位與 如果兩個相應的二進位制位都為1,則該位的結果值為1,否則為0 按位或 兩個相應的二進位制位中只要有乙個為1,該位的結果值為1 按位異或 若參加運算的兩個二進位制位值相同則為0,否則為1 取反 是一元運算子,用來對乙個二進位制數按位取反,即將0變...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...