javascript中的类型转换(进制转换|位运算)

时间:2021-12-20 22:03:49

1:parseInt(string) : 这个函数的功能是从string的开头开始解析,返回一个整数

parseInt("123hua");  //输出  123
parseInt("123"); //输出 123
parseInt("12.3"); //输出 12
parseInt("hua"); //输出 Nan

2:另外parseInt()方法还有其他模式,就是可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数

parseInt("10", 16);   //输出  16
parseInt("10", 2); //输出 2
parseInt("10s", 2); //输出 2
parseInt("10", 8); //输出 8
parseInt("10", 10); //输出 10
parseInt("0x10"); //输出 16 0x十六进制的表示

3.parseFloat():这个函数与parseInt()方法的处理方式相似。

parseFloat("123hua");  //输出  123
parseFloat("123"); //输出 123
parseFloat("12.3"); //输出 12.3
parseFloat("hua"); //输出 Nan

4.Number():强制类型转换,与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。

Number(false)    //输出  0
Number(true) //输出 1
Number(undefined) //输出 NaN
Number(null) //输出 0
Number("1.2") //输出 1.2
Number("12 ") //输出 12
Number("1.2.3 ") //输出 NaN
Number(new Object()) //输出 NaN

5:Number 类型的 toString() 方法比较特殊,它有两种模式,即默认模式和基模式。
采用默认模式,toString() 方法只是用相应的字符串输出数字值(无论是整数、浮点数还是科学计数法)

var iNum = 10;
alert(iNum.toString(2)); //输出 "1010"
alert(iNum.toString(8)); //输出 "12"
alert(iNum.toString(16)); //输出 "A"
(12).toString(); //输出 "12"
(12).toString(2); //输出 "1100"
"12".toString(2); //输出 "12"

6:Boolean 类型的 toString() 方法只是输出 "true" 或 "false"

var bFound = false;
alert(bFound.toString()); //输出 "false"

7:位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。
位运算 NOT 由否定号(~)表示

//位运算 NOT 由否定号(~)表示
var iNum1 = 25; //25 等于 00000000000000000000000000011001
var iNum2 = ~iNum1; //转换为 11111111111111111111111111100110
alert(iNum2); //输出 "-26"
//位运算 NOT 实质上是对数字求负,然后减 1,因此 25 变 -26
var iNum1 = 25;
var iNum2 = -iNum1 - 1;
alert(iNum2); //输出 -26

位运算 AND 由和号(&)表示,直接对数字的二进制形式进行运算,都是1为1,否则为0

var iNum1 = 25;        //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
var iNum2 = 3; //3 等于 0000 0000 0000 0000 0000 0000 0000 0011
alert(iNum1 & iNum2);//输出 //1 等于 0000 0000 0000 0000 0000 0000 0000 0001

位运算 OR 由符号(|)表示,也是直接对数字的二进制形式进行运算,都是0为0,否则为1

var iNum1 = 25;        //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
var iNum2 = 3; //3 等于 0000 0000 0000 0000 0000 0000 0000 0011
alert(iNum1 | iNum2);//输出 //27 等于 0000 0000 0000 0000 0000 0000 0001 1011

位运算 XOR 由符号(^)表示,当然,也是直接对二进制形式进行运算,不同为1,相同为0

var iNum1 = 25;        //25 等于 0000 0000 0000 0000 0000 0000 0001 1001
var iNum2 = 3; //3 等于 0000 0000 0000 0000 0000 0000 0000 0011
alert(iNum1 ^ iNum2);//输出 //26 等于 0000 0000 0000 0000 0000 0000 0001 1010

左移运算由两个小于号表示(<<)。它把数字中的所有数位向左移动指定的数量。

var iNum1 = 2;            //等于二进制 10
var iNum2 = iNum1 << 5; //等于二进制 1000000 十进制 64

javascript中的类型转换(进制转换|位运算)的更多相关文章

  1. 【JavaScript】进制转换&amp&semi;位运算,了解一下?

    前言 在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它.作为一位编程人员,这些都是基础知识.如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难.本文你将会学习到: 进制转 ...

  2. C&num;的格式化&lpar;进制转换&vert;位运算)

    1.首先做一下知识的普及C或c Currency 货币格式D或d Decimal 十进制格式E或e Exponent 指数格式F或f Fixed point (float)固定精度格式G或g Gene ...

  3. JavaScript中的多种进制与进制转换

    进制介绍 JavaScript 中提供的进制表示方法有四种:十进制.二进制.十六进制.八进制. 对于数值字面量,主要使用不同的前缀来区分: 十进制(Decimal): 取值数字 0-9:不用前缀. 二 ...

  4. C&plus;&plus;中的各种进制转换函数汇总

    C++中的各种进制转换函数汇总 1.在C中,按指定进制格式输出如下: #include <iostream> #include <cstdio> using namespace ...

  5. C&plus;&plus;中的各种进制转换函数汇总及学习

    一.指定格式输出 1.C中指定格式输出 printf(); //按八进制格式输出,保留5位高位补零 printf(); //按十进制格式输出,保留3位高位补零 printf(); //按十六进制格式输 ...

  6. Python笔记&lowbar;第一篇&lowbar;面向过程&lowbar;第一部分&lowbar;3&period;进制、位运算、编码

    通过对内存这一个部分的讲解,对编程会有一个相对深入的认识.数据结构是整个内存的一个重要内容,那么关于数据结构这方面的问题还需要对进制.位运算.编码这三个方面再进行阐述一下.前面说将的数据结构是从逻辑上 ...

  7. 4&period;Python 进制和位运算

    .button, #logout { color: #333; background-color: #fff; border-color: #ccc; } span#login_widget > ...

  8. JavaScript常用技巧之进制转换

    一.十进制转二进制 (8).toString(2) 二.二进制转十进制 parseInt("1000",2) 三.获取当前时间戳 // 方法 Date.now() // 对象和操作 ...

  9. java中常用的进制转换

    十进制转成十六进制:   Integer.toHexString(int i)   十进制转成八进制   Integer.toOctalString(int i)   十进制转成二进制   Integ ...

随机推荐

  1. 10月28日PHP基础知识测试题

    本试题共40道选择题,10道判断题,考试时间1个半小时 一:选择题(单项选择,每题2分): 1. LAMP具体结构不包含下面哪种(A) A:Windows系统 B:Apache服务器 C:MySQL数 ...

  2. &lbrack;Mongodb&rsqb;删除指定字段

    摘要 如果想要删除mongodb中一个document的某个字段,该如何做呢? 方法模版 db.user.update({"email_state":{"$exists& ...

  3. 输入A和B,计算并输出A&plus;B

    EOF是一个预定义的常量,等于-1. 输入A和B,计算并输出A+B Sample input: 1    5 10  20 Sample output: 6 30 #include <iostr ...

  4. tomcat startup&period;sh提示java&period;lang&period;OutOfMemoryError&colon; PermGen space

    JAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024m"if [ -z "$LOGGING_MANAGER& ...

  5. Android开展Exception:ActivityNotFoundException&colon; Unable to find explicit activity class

    project出现在一个以上的activity,不AndroidManifest.xml配置,在阅读的时候,你需要知道的配置activity,使用时间或忘记配置.流汗!配置activity后proje ...

  6. 【tmos】spring data jpa 创建方法名进行简单查询

    参考链接 spring data jpa 创建方法名进行简单查询:http://www.cnblogs.com/toSeeMyDream/p/6170790.html

  7. secureCRT在Windows上面的安装过程

    参考这篇文章: https://www.cnblogs.com/yjd_hycf_space/p/7729796.html

  8. webp图片优化

    根据对目前国内浏览器占比与 WebP 的兼容性分析,大约有 50% 以上的国内用户可以直接体验到 WebP,如果你的网站以图片为主,或者你的产品基于 Chromium 内核,建议体验尝试.假如你打算在 ...

  9. lmathlib文件

    lua的math库是通过lua扩展而来,主要对系统math库进行了一次封装,以供lua使用,一般可以从lmathlib文件开始阅读源码. //绝对值 static int math_abs (lua_ ...

  10. linux服务器---安装swat

    安装swat swat是一个图形化的samba管理软件,可以帮助不熟悉的人去灵活的配置samba服务, 1.安装swat [root@localhost wj]#yum install -y samb ...