JS十进制转二进制(控制位数)
主要需求:十进制转二进制,可以控制指定的位数。
转化显示后的二进制数为bin-bit中输入的数字宽度。
dec-number为5,bin-bit为5,则转化后数字为00101。
如果bin-bit小于转化后的二进制本身位数,则使用原本的位数,如dec-number为5,bin-bit为2,依然输出101,但同时在console中报个错。
一、十进制转二进制,不控制位数。
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>10进制转2进制,不带位数控制</title>
</head> <body>
<input id="dec-number" type="number" placeholder="输入一个十进制非负整数">
<button id="trans-btn">转化为二进制</button>
<p id="result">运算结果</p>
<script>
//点击事件
document.getElementById("trans-btn").onclick = function () {
var x = document.getElementById("dec-number").value;
dec2bin(x);
} function dec2bin(decNumber) {
// 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
if (decNumber < 0) {
alert("请输入一个非负整数");
} else {
var q = binary(decNumber);
document.getElementById("result").innerHTML = ("计算结果为:" + q);
}
} // 实现党点击转化按钮时,将输入的十进制数字转化为二进制,并显示在result的p标签内
// Some coding function binary(num) {
var resArry = [];
var xresArry = [];
i = 0;
//除2取余
for (; num > 0;) {
resArry.push(num % 2);
num = parseInt(num / 2);
i++;
}
//倒序排列
for (j = i - 1; j >= 0; j--) {
xresArry.push(resArry[j]);
}
return xresArry.join().replace(/,/g, "");
}
</script>
</body> </html>
二、十进制转二进制,控制位数。
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title>10进制转2进制,带位数控制</title>
</head> <body>
<input id="dec-number" type="number" placeholder="输入一个十进制非负整数">
<input id="bin-bit" type="number" placeholder="输入需要显示的位数">
<button id="trans-btn">转化为二进制</button>
<p id="result">运算结果</p>
<script>
//点击事件
document.getElementById("trans-btn").onclick = function () {
var x = document.getElementById("dec-number").value;
var y = document.getElementById("bin-bit").value;
dec2bin(x, y);
} function dec2bin(decNumber, bit) {
// 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
if (decNumber < 0) {
alert("请输入一个非负整数");
} else {
var q = binary(decNumber, bit);
document.getElementById("result").innerHTML = ("计算结果为:" + q);
}
} // 实现党点击转化按钮时,将输入的十进制数字转化为二进制,并显示在result的p标签内
// Some coding function binary(num, Bits) {
var resArry = [];
var xresArry = [];
i = 0;
//除2取余
for (; num > 0;) {
resArry.push(num % 2);
num = parseInt(num / 2);
i++;
}
//倒序排列
for (j = i - 1; j >= 0; j--) {
xresArry.push(resArry[j]);
}
//报错
if (Bits < xresArry.length) {
console.log("控制位小于转换位数");
}
//补0操作
if (Bits) {
for (r = xresArry.length; r < Bits; r++) {
xresArry.unshift("0");
}
}
return xresArry.join().replace(/,/g, "");
}
</script>
</body> </html>
涉及的知识点:
十进制转二进制,除2取余,倒序排列。
push()
unshift()
join()
replace()
<input placeholder="请输入">
JS十进制转二进制(控制位数)的更多相关文章
- Javascript-可定义位数的十进制转二进制
// 十进制转二进制 function binary (num, Bits) { var d = parseInt(num / 2) var resArry = [num % 2] for(; d ! ...
- js 表单验证控制代码大全
js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...
- 十进制转二进制and位运算符
先给大家送个福利! ---------------简单口算-------------------------- 10 >> 1010 除2取余倒写 /* 十进制转二进制规则是:除二取 ...
- C语言 · 递归求二进制表示位数
算法训练 6-2递归求二进制表示位数 时间限制:10.0s 内存限制:256.0MB 问题描述 给定一个十进制整数,返回其对应的二进制数的位数.例如,输入十进制数9,其对应的二进制数 ...
- [ActionScript 3.0] 十进制与二进制,十六进制等数据之间的相互转换
将十进制转换为二进制,方法是:将数字除以2,根据余数来从右往左排列二进制的位数,如下以十进制数10为例 10除以2得5,余数为0,故第一个位置为0: 5除以2得2,余数为1,故第二个位置为1: 2除以 ...
- JS字符串与二进制的转化
JS字符串与二进制的相互转化 1 2 3 4 5 //字符串转ascii码,用charCodeAt(); //ascii码转字符串,用fromCharCode(); var str = "A ...
- 蓝桥杯 算法训练 ALGO-151 6-2递归求二进制表示位数
算法训练 6-2递归求二进制表示位数 时间限制:10.0s 内存限制:256.0MB 问题描述 给定一个十进制整数,返回其对应的二进制数的位数.例如,输入十进制数9,其对应的二进制数是1001 ...
- C# 十进制与二进制、十六进制、八进制之间的转换
1.十进制 转 二进制 将十进制数不断地除2,将所有余数倒叙填写,即可得到所需二进制数据. public static string DecimalToBinary(int vDecimal) { / ...
- Java实现 蓝桥杯VIP 算法训练 递归求二进制表示位数
问题描述 给定一个十进制整数,返回其对应的二进制数的位数.例如,输入十进制数9,其对应的二进制数是1001,因此位数是4. 样例输入 一个满足题目要求的输入范例. 9 样例输出 与上面的样例输入对应的 ...
随机推荐
- python cookbook
一 .数据结构 python collections包中 deque :固定长度队列,(例如固定长度的cache什么的) defaultdict:如果每个键值不存在,默认返回值 orderdict:有 ...
- Comparable比较器和Comparator比较器
1.Comparable比较器 在Arrays类中存在sort()排序方法,此方法可以直接对对象数组进行排序. public static void sort(Object[] a 根据元素的自然顺序 ...
- python全栈开发_day3_数据类型,输入输出及运算符
一:常见数据类型 1)int整型 例:age=1 整型常用于年龄,账号等 2)float浮点型 例:salary=5.1 浮点型常用于薪水,身高,体重等 3)str字符串类型 例:name=“chen ...
- 基础篇:6.3)形位公差-标注 Mark
本章目的:了解形位公差是如何标注的,及其意义: 1.形位公差框格 Feature Control Frames 2.被测要素的标注(两国标准不同) 2.1 中国GB标准 — 形位公差框格通过用带箭头的 ...
- simulate UE activity
can: 1,connect, disconnect 2,configure serial,nic,com,model,version,IMEI,IMSI,IP 3,various AT comman ...
- django 迁移工程数据库无法创建的问题
1.今天我遇到一个问题在此做笔记记下来 2.我晚上一般是在家练习的,白天会拷贝工程到公司用 3.因为我在家里创建过一次数据库了,通过命令创建,但是无论我怎么修改models都无法创建表,最后只能通过新 ...
- my34_脚本冥等添加自动任务-mysql监控部署
场景: 定义一套添加mysql监控的脚本,在mysql安装完毕后,一键执行添加监控 已有以下的等一系列命令可以读取mysql从库的延迟时间并推向influxdb,变化的部分为 -P 端口.-k k ...
- oracle client 低于 oracle server 端,导致报错ORA-01882
https://forums.toadworld.com/t/ora-01882-when-i-want-to-view-records-con-dba-scheduler-jobs-toad-10- ...
- 12.2.0.1 restart环境执行root.sh 报 CLSRSC-400 错误
问题描述: 在LINUX 7.5 的环境上安装12.2.0.1 Restart Grid环境,执行root.sh 报 CLSRSC-400 错误 错误如下: 解决办法: 1. 参考(文档ID 136 ...
- Redis+Lua实现限流
相比Redis事务来说,Lua脚本有以下优点减少网络开销: 不使用 Lua 的代码需要向 Redis 发送多次请求, 而脚本只需一次即可, 减少网络传输;原子操作: Redis 将整个脚本作为一个原子 ...