美文网首页
位操作~~整数转化

位操作~~整数转化

作者: real勾玉 | 来源:发表于2016-06-20 19:46 被阅读34次

在js中有个小操作用~~把字符串转换整数。

console.log(~~'10');

结果:

转换正常
console.log(~~'50000000000');

结果:

结果是负数

故使用过程中要注意:
1,最好不要是转换浮点数
2,转换的值最好不要大于2^32(4,294,967,295)。因为Bit操作是针对32位有符号整数。如下图:

Paste_Image.png

如果想知道自己的位数是否大于32可以使用:

num.toString(2).length

可以写个转换的函数了:

const parseInt = num => Number(num).toString(2).length >= 32 ? parseInt(num, 10) : ~~num;
//注意如果传入的是浮点数则会报错

参考地址:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators
(中文版:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators)

http://www.w3schools.com/jsref/jsref_operators.asp

相关文章

  • 位操作~~整数转化

    在js中有个小操作用~~把字符串转换整数。 结果: 结果: 故使用过程中要注意:1,最好不要是转换浮点数2,转换的...

  • Linux内核同步方法

    1 内核提供了两组原子操作接口:一组针对整数进行操作,另一组针对单独的位进行操作。 2 原子整数操作: 针对整数的...

  • Int整数类型的位操作变换类

    Int 整数类型的位操作变换类

  • 整数转化

    编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。 给定两个整数intA,intB。请返回需要改变的数位...

  • 第八章 操作位和位串(四)

    第八章 操作位和位串(四) 操作以整数形式实现的位串 设置位 要创建一个存储为整数的新位串,请对每个位求和 2 的...

  • 字符串处理的方法

    1、字符串合并操作:“ + ”2、parseInt() 将数字字符串转化为整数3、parseFloat() 将数字...

  • 运算符 - 算术运算符

    算术运算符 整数相除只能得到整数,如果还想要得到小数,那么则把操作数据*1.0,使得int类型默认转化为float...

  • j2se回顾总结(二)

    1.操作符 (1)位 &、|、^、~ 操作对象:整数 操作过程:将整数转为二进制,再运算 &:一假皆假 |:一真皆...

  • Cpp:位操作符

    位操作符:位操作符操作的整数可以是有符号或无符号数。 下面的例子,假设unsigned char有8位: ~: 类...

  • java 基础知识2

    位操作 位操作指的是 使用二进制的代码完成的数据操作 反码:所有的位按位取反,0变1 ,1 变 0 ,但是整数的反...

网友评论

      本文标题:位操作~~整数转化

      本文链接:https://www.haomeiwen.com/subject/xpgwdttx.html