Javascript 数的表示与位运算

JavaScript相关内容转载
该博客为转载内容,转载自https://www.cnblogs.com/i2u9/archive/2011/10/18/j1.html ,涉及JavaScript相关知识。
/*
 *   Javascript int 型 32位,默认为有符号整数,且第32位,即符号位开发者不可访问
 *
 *   在 原理中: 数的表示 正数的不变。负数:反码为原码除符号位取反,补码为反码+1
 *    4位:    						8位:
 *             真值:6(+110)  -6(-110)				6(+110)  	-6(-110)
 *      
 *             原码: 0110      1110                           0000 0110    1000 0110
 *
 *             反码:   0110      1001                          0000 0110    1111 1001
 *
 *             补码:   0110      1010                          0000 0110    1111 1010
 */
//Javascript 运行 
(6).toString(2)    //"110"
(-6).toString(2) //"-110"
parseInt('-110',2)// -6
parseInt('110',2) //  6

//下面是关键
(~6).toString(2) //"-111" 即-7   式1
(~-6).toString(2)// "101" 即 5   式2
/*
式1: 6 :补码 0110 取反 1001 这是一个补码表示的数 其真值为 -111 即-7
式2:-6 :补码 1010 取反 0101 同理,但这是个正数   故真值为 +101 即 5

可见 1:Javascript 数的表示 是用 补码表示的 (输出是真值表示)

     2:Javascript 取反操作 是包含 符号位的
	 
	 3:Javascript 数的位运算以数的实际位数为基准(正数符号位为0),而不是确定的32位
*/

  

转载于:https://www.cnblogs.com/i2u9/archive/2011/10/18/j1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值