永发信息网

javascript ~~ 符号是什么意思呢?? 例如Array(~~(Math.random()*7));

答案:2  悬赏:0  手机版
解决时间 2021-02-20 09:35
javascript ~~ 符号是什么意思呢?? 例如Array(~~(Math.random()*7));
最佳答案
~ bitwise NOT 运算符
~对操作数按位取反,两个的意思即作两次取反操作,其实是等作原数本身(操作数是32整数范围内)


~~(Math.random()*7)即
var n = Math.random() * 7;
n = ~n;
n = ~n;//其实和初始值一样和对BOOLEAN类型的作两次!操作是一个意思,只不过是把小数位给去掉了。
推荐用>>操作符,一次即可:
var n = Math.random() * 7;
n = n>>0;


~运算符的详细解释:


将 expression 转换为一个 32 位带符号整数,然后按位对 1 求补。即,将结果中为 0 的每一位设置为 1,并将结果中为 1 的每一位设置为 0。结果是一个带符号的 32 位整数。此运算符也称为对一求补运算符或按位求补运算符。
例如,十六进制值 0x7777 表示为二进制数:

0111011101110111


该十六进制值 ~0x7777 的按位取反的二进制数为:

1000100010001000


在十六进制中,它是 0x8888。因此,~0x7777 就是 0x8888。


按位运算符的最常见用法是提供特征位(为每一位填充一个布尔值)。


浮点数通过舍去小数点后面的所有位来转换为整数。正整数可转换为无符号的十六进制值,其最大值为 4294967295 或
0xFFFFFFFF;转换大于最大值的值时,会舍去其最高有效位,因此该值仍保持为 32 位。负数通过 2
的补码标记转换为无符号的十六进制值,其最小值为 -2147483648 或 0x800000000;小于最小值的数可转换为精度更高的 2
的补码,然后舍去最高有效位。


由于结果被解释为 32 位 2 的补码数,因此结果将是 -2147483648 到 2147483647 范围中的一个整数。
全部回答
生成1到1000之间的随机数再对array数组的大小取余,最终得到1到数组大小-1之间的整数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么有时候在大街上会被女的翻白眼?
现在还能不能在网上报考驾照
苗族男子头上戴的雉鸡翎是什么的标志
你怎么又去酒吧的英语怎么说
中国有几个人叫郭锴鑫
剑灵拳师怎么打召唤?总是被猫骚扰好烦
水蜡苗地里除草用什么r
凤铝铝材西双版纳州总经销我想知道这个在什么
我烧了一柱香 可是烧完后香灰全掉出来了
全国有多少叫段家乐的人
解答题1 求解题过程。请把解 设 每一步的过程
无名足道在哪里啊,我有事要去这个地方
张老师是临床带教老师,针对本科实习学生,她
怎么报复仇人(我想让他难看)
道吾山酒厂我想知道这个在什么地方
推荐资讯
联华西山店我想知道这个在什么地方
如何判断她对我有没有感觉
为什么男人喜欢吻脖子
组装苹果7plus为何这么便宜?能放心入手吗哪
天津大道/葛万公路桥(路口)我想知道这个在什
中国邮政储蓄银行北一路营业所怎么去啊,有知
伊宁市司法局在什么地方啊,我要过去处理事情
移动如何办理停机
请问,物理问题,小名将质量为1KG的物体由静止
这个演变过程很漫长,从( )到( )到( )到(
环岛人家铜火锅(黄河路店)地址在哪,我要去那
我在工地上受了伤好了,老板劳务公司推来推去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?