首页 > 试题广场 >

二进制转换

[编程题]二进制转换
  • 热度指数:45117 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
获取数字 num 二进制形式第 bit 位的值。注意:
1、bit 从 1 开始
2、返回 0 或 1
3、举例:2 的二进制为 10,第 1 位为 0,第 2 位为 1
示例1

输入

128, 8

输出

1
头像 jieleejie
发表于 2021-05-10 23:55:46
方法一:toString()Number.toString([radix]):返回指定 Number 对象的字符串表示形式;radix指定要用于数字到字符串的转换的基数(从2到36)。如果未指定 radix 参数,则默认值为 10 function valueAtBit(num, bit) { 展开全文
头像 jack_21
发表于 2021-07-26 10:44:07
两个方法一.利用系统的toString函数转二进制 function valueAtBit(num, bit) { let binaryNum = num.toString(2); return binaryNum[binaryNum.length-bit]; }二.利用位运算 展开全文
头像 奋斗:-)
发表于 2021-06-25 16:11:33
简单粗暴的方法,转换为二进制,变为字符串,转成数组,反转,取值function valueAtBit (num, bit) { let two = num.toString(2) + '' let res = two.split('').reverse() return res[b 展开全文
头像 牛客235160514号
发表于 2021-07-20 10:36:49
function valueAtBit(num, bit) {     if(bit < 1) return     var numberString = num.toString(2).split("").reverse().joi 展开全文
头像 前端消防圆
发表于 2023-06-25 20:26:29
思路:位运算。 function valueAtBit(num, bit) { return (num>>(bit-1))&1 } 总结:注意,求第n位只需右移n-1位。扩展:num.toString(radix),其中radix指定num要变成的字符串的进制,2就是2进制,不 展开全文
头像 夜寻极光。
发表于 2021-08-03 17:14:04
function valueAtBit(num, bit) { let result = num.toString(2); return result.charAt(result.length - bit ); }toString(radix) 方法可把一个 Number 对象转换为一 展开全文
头像 影子咿呀
发表于 2021-12-03 20:21:07
function valueAtBit(num, bit) {\n //将十进制转为二进制\n var binary=num.toString(2);\n var arr=binary.split('').reverse()\n return arr[bit-1]\n}"," 展开全文
头像 MeowRain
发表于 2023-05-17 22:08:40
function valueAtBit(n, bit) { let arr = []; while (n > 0) { arr.push(n%2); n = Math.floor(n / 2); } return arr[bit-1]; }
头像 省委书记
发表于 2021-11-10 15:45:40
function valueAtBit(num, bit) { var num2 = num.toString(2).split('').reverse(); return num2[bit-1] }
头像 handsome--xiaoJie
发表于 2023-04-04 16:41:43
function valueAtBit(num, bit) { num=num.toString(2); if(bit>num.length){ // 超出二进制数的长度,执行中断 return; } return num.ch 展开全文