parseInt()

这篇博客探讨了如何使用parseInt函数处理输入的数字字符串,将其转换为整数并进行二进制操作。主要关注了parseInt的用法,包括在不同基数下解析字符串的能力。博主解释了当忽略或指定radix参数时,parseInt的行为,并展示了如何利用它来求解一组数字中偶数的二进制反转。示例代码展示了从字符串到二进制反转整数的转换过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 做题时遇到的,对于输入的一组数字,需要求出这组数字里偶数的二进制,并将其二进制反转得到一个新的数字

  • 这里面需要解决两个问题:1. 将可能是字符串的元素值转为整数;2. 求二进制对应的整数

  • 以上两个问题都可以通过parseInt()解决,parseInt()可解析一个字符串,并返回一个整数。

  • parseInt()有两个参数

    • string:必需。要被解析的字符串。
    • radix:可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
parseInt疑惑的点
  • 之前一直不太熟悉parseInt怎么对字符串进行解析的,主要是看着要分情况考虑string是以什么开头的,感觉很麻烦,学的一知半解的,静下心来看其实没那么麻烦

  • 教程中,忽略第二个参数radix时,

    • 如果string以 “0x” 开头,parseInt() 会把string的其余部分解析为十六进制的整数。
    • 如果string以 0 开头,那么 ECMAScript v3 允许parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
    • 如果string以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
    • 如果string的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN
  • 考虑第二个参数radix时,如果radix是2,就把string解析为二进制的数,是16就解析为16进制,没有写就默认转换为10进制数。

解决问题
let readline = '2';
// 将字符串转为数字类型
let a = parseInt(lines[i]);
// 求二进制
let brind = a.toString(2);
// 求二进制对应的整数
let brind = parseInt(a,2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值