您好,登錄后才能下訂單哦!
這篇文章主要介紹了JS十進制怎么轉二進制的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇JS十進制怎么轉二進制文章都會有所收獲,下面我們一起來看看吧。
計算十進制轉換為二進制的過程可以當成把每個計算后取余的數字壓入棧內的操作
具體實現過程如下
// 十進制轉二進制代碼
function dec2bin(decNumber){
//定義棧
var stack=new Stack()
//將數字壓入棧內
while(decNumber>0){
// 1- 獲取余數 將其壓入棧內
stack.push(decNumber%2)
// 2- 獲取整除后的結果 作為下一次取余的數字
decNumber=Math.floor(decNumber/2)
}
// 從棧內取出
var result=''
while(!stack.isEmpty()){
//將棧頂數字依次壓入數組中
result+=stack.pop()
}
//返回結果
return result
}
console.log(dec2bin(1000))
console.log(dec2bin(100))
console.log(dec2bin(10))
手寫思路:
1、首先定義一個函數 并定義傳入所需轉換數字
2、使用棧結構(此處需提前封裝好棧 功能 如 pop push)
3、循環判斷(此處為將數字壓入棧內操作) 數字是否大于0
循環內部 :首先對傳入的數字 取余(此處為十進制轉二進制 需除2)然后 將數字取整后的結果更新 循環操作 直到數字小于等于0
4、首先定義一個空數組
5、循環判斷(此處為將結果從棧內取出操作)棧內是否有元素
循環內部 :空數組 加等 棧內每次取出的元素
下面是封裝棧的代碼 可省略
function Stack() {
//棧 中的一些屬性
this.items = []
//棧內操作
//1.將元素壓入棧
Stack.prototype.push = function (element) {
this.items.push(element)
}
//2.從棧中取出元素
Stack.prototype.pop = function () {
return this.items.pop()
}
//3.查看一下棧頂元素(不改變棧結構)
Stack.prototype.peek = function () {
return this.items[this.items.length - 1]
}
//4.判斷棧是否為空
Stack.prototype.isEmpty = function () {
return this.items.length == 0
}
//5.獲取棧中元素個數
Stack.prototype.size = function () {
return this.items.length
}
//6.toString方法
Stack.prototype.toString = function () {
var result = ''
for (var i = 0; i < this.items.length; i++) {
result += this.items[i]
}
return result
}
}
關于“JS十進制怎么轉二進制”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“JS十進制怎么轉二進制”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。