算法基礎(chǔ)題(6):10進(jìn)制二進(jìn)制的相互轉(zhuǎn)換

1.進(jìn)制也就是進(jìn)位計(jì)數(shù)制厂财,是人為定義的帶進(jìn)位的計(jì)數(shù)方法(有不帶進(jìn)位的計(jì)數(shù)方法舌界,比如原始的結(jié)繩計(jì)數(shù)法凰荚,唱票時常用的“正”字計(jì)數(shù)法怖辆,以及類似的tally mark計(jì)數(shù))顷歌。
2.對于任何一種進(jìn)制---X進(jìn)制,就表示每一位置上的數(shù)運(yùn)算時都是逢X進(jìn)一位蕉扮。 十進(jìn)制是逢十進(jìn)一探膊,十六進(jìn)制是逢十六進(jìn)一,二進(jìn)制就是逢二進(jìn)一利朵,以此類推律想,x進(jìn)制就是逢x進(jìn)位。


我們還是用棧的原理來實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換,首先模擬一個棧绍弟。

//模擬封裝棧
        function Stack() {
            this.item = []; //定義空數(shù)組來接收二進(jìn)制數(shù)

            //把數(shù)據(jù)存進(jìn)棧
            Stack.prototype.push = function (element) { //定義原型方法
                return this.item.push(element + ' ');
            }

            //把數(shù)據(jù)從棧中拿出來
            Stack.prototype.pop = function () {
                return this.item.pop();
            }

            //判斷棧是否為空
            Stack.prototype.isNull = function () {
                return this.item.length == 0
            }
        }

一技即、十進(jìn)制轉(zhuǎn)換成二進(jìn)制

//10進(jìn)制轉(zhuǎn)換二進(jìn)制
        function ten_Adapter_Two(numbers) {

            let stack = new Stack(); //實(shí)例一個棧

            while (numbers > 0) {  //判斷numbers是否為0
                stack.push(numbers % 2);  //把余數(shù)存進(jìn)棧中

                numbers = Math.floor(numbers / 2);  //取每次除以二的整數(shù)
            }

            //從棧中取出0和1
            let binaryString = '';
            while (!stack.isNull()) {  //判斷this.item是否為空
                binaryString += stack.pop();
            }

            return binaryString
        }
console.log(ten_Adapter_Two(100)); // 1100100

二、二進(jìn)制轉(zhuǎn)換成十進(jìn)制

//二進(jìn)制轉(zhuǎn)換10進(jìn)制
        function two_Adapter_Ten(numbers) {

            let stack = new Stack();
            let StringNumbers = String(numbers);

            while(StringNumbers.length > 0){         //類似于:1 * 2的6次冪
                stack.push(Number(StringNumbers[0]) * Math.pow(2,StringNumbers.length - 1));  //使用Math.pow次冪
                StringNumbers = StringNumbers.slice(1,StringNumbers.length)  //每次都把第一位刪除掉
            }

            let twoNumber = 0;
            while(!stack.isNull()){
                twoNumber += Number(stack.pop());  //從棧中取出累加
            }

            return twoNumber
            
        }
console.log(two_Adapter_Ten(1100100));// 100

而且在如今樟遣,計(jì)算機(jī)更是借助進(jìn)制來實(shí)現(xiàn)高效開發(fā)而叼,在電子計(jì)算機(jī)中采用二進(jìn)制表示數(shù)可以節(jié)省設(shè)備”可 以從理論上證明葵陵,用三進(jìn)位制最省設(shè)備,其次就是二進(jìn)位制瞻佛。但由于二進(jìn)位制有包括三進(jìn)位制在內(nèi)的其他進(jìn)位制所沒有的優(yōu)點(diǎn)脱篙,所以大多數(shù)電子計(jì)算機(jī)還是采用二進(jìn)制。由于二進(jìn)制中只用二個符號 “ 0” 和“1”伤柄,所以绊困,任何具有二個不同穩(wěn)定狀態(tài)的元件都可用來表示數(shù)的某一位
至于其他進(jìn)制轉(zhuǎn)換原理類似适刀!謝謝考抄!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蔗彤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疯兼,老刑警劉巖然遏,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吧彪,居然都是意外死亡待侵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門姨裸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秧倾,“玉大人怨酝,你說我怎么就攤上這事∧窍龋” “怎么了农猬?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長售淡。 經(jīng)常有香客問我斤葱,道長,這世上最難降的妖魔是什么揖闸? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任揍堕,我火速辦了婚禮,結(jié)果婚禮上汤纸,老公的妹妹穿的比我還像新娘衩茸。我一直安慰自己,他們只是感情好贮泞,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布楞慈。 她就那樣靜靜地躺著,像睡著了一般隙畜。 火紅的嫁衣襯著肌膚如雪抖部。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天议惰,我揣著相機(jī)與錄音慎颗,去河邊找鬼。 笑死言询,一個胖子當(dāng)著我的面吹牛俯萎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播运杭,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼夫啊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辆憔?” 一聲冷哼從身側(cè)響起撇眯,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虱咧,沒想到半個月后熊榛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腕巡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年玄坦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出匀归,到底是詐尸還是另有隱情,我是刑警寧澤喻喳,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站休蟹,受9級特大地震影響沸枯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赂弓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一绑榴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盈魁,春花似錦翔怎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至珊膜,卻和暖如春容握,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背车柠。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工剔氏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人竹祷。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓谈跛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親塑陵。 傳聞我的和親對象是個殘疾皇子感憾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容