许久没有出来现身了,这不,拉着代码出来溜溜。
今天主要想记录的就是十进制转换成二进制的方法。
JS代码 先直接写出代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 var decNumber = document .getElementById("dec-number" );var transBtn = document .getElementById("trans-btn" );var clearBtn = document .getElementById("clear" );var spanNum = document .querySelector("span" );var bit = document .getElementById("bin-bit" ); transBtn.addEventListener("click" , transNumber); clearBtn.addEventListener("click" , ClearNumber); function transNumber ( ) { if (decNumber.value == "" || isNaN (decNumber.value)) { alert("请输入整数" ); } else { var num = parseInt (decNumber.value).toString(2 ); var numLen = num.length var bitLen = parseInt (bit.value); if (bitLen > numLen) { spanNum.innerHTML = PrefixInteger(num, bitLen); } else { spanNum.innerHTML = num; } } } function PrefixInteger (num,n ) { return (Array (n).join('0' ) + num).slice(-n); } function ClearNumber ( ) { decNumber.value = '' ; bit.value = '' ; spanNum.innerHTML = '' ; }
难点解释 下面在正对我认为的难点进行解释:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1. 当isNaN(val) 为true时 表示val不是整数(为了当你输入的不是数字时进行提示) 2. number上的toString 可以对数字的进制进行转换 var num = 25; num.toString(2); 转换成二进制 num.toString(8); 转换成八进制 num.toString(16); 转换成十进制 3. join() 方法用于把数组中的所有元素放入一个字符串。 4. slice(-n) 负数表示倒着截取 123 -> 0000123 -> 0123 5. PrefixInteger(num,n)这一函数表示num数字前面自动补零
源码地址 https://github.com/yutiJin/dev-learn/tree/master/changeBit
最近在准备软件评测师考试,加油,已经看书三天了,经过了解才知道软件测试所涉及的范围很广,内容很多,没有我想象中的那么简单,好像说只有百分之三十的人才能通过,可我还是想试试,努力一把,看了就好好学点东西,这是我目前的想法。不过呢,js我也不想放弃,难得学一门语言,嘻嘻,其实吧,我是个小懒虫,不知道能坚持多久,不管怎么样,加油吧,小鱼儿。