当前位置: 首页 > news >正文

中纪委网站作风建设永远在路上女生做sem还是seo

中纪委网站作风建设永远在路上,女生做sem还是seo,网页设计师工资水平,买卖信息网站目录 负数二进制表示Java中32位无符号数的取法项目踩坑记录Java 0xffffffff隐式类型转换的坑 负数二进制表示 由于计算机中数据都以二进制表示,而负数的二级制是根据正数二进制取补码(补码就是先取反码,然后加1)得到,…

目录

  • 负数二进制表示
  • Java中32位无符号数的取法
  • 项目踩坑记录
  • Java 0xffffffff隐式类型转换的坑

负数二进制表示

由于计算机中数据都以二进制表示,而负数的二级制是根据正数二进制取补码(补码就是先取反码,然后加1)得到,如:

一个int 类型的数值为5,其长度为32位,二进制表示为

00000000 00000000 00000000 00000101

-5是根据5的二进制表示每一位先取反码(0变1,1变0)得到

11111111 11111111 11111111 11111010

再对反码加1,得到-5的二进制表示

11111111 11111111 11111111 11111011

2、Integer.MAX_VALUE+1 = Integer.MIN_VALUE 与 Integer.MIN_VALUE-1 = Integer.MAX_VALUE

Integer.MAX_VALUE: 01111111 11111111 11111111 111111111: 00000000 00000000 00000000 00000001相加: 10000000 00000000 00000000 00000000
Integer.MIN_VALUE: 10000000 00000000 00000000 00000000
可以看出 Integer.MAX_VALUE+1 结果等于 Integer.MIN_VALUE
Integer.MIN_VALUE: 10000000 00000000 00000000 00000000-1: 11111111 11111111 11111111 11111111相加: 1 01111111 11111111 11111111 11111111
Integer.MAX_VALUE: 01111111 11111111 11111111 11111111
可以看出Integer.MIN_VALUE+1结果将多余位舍去即等于 Integer.MAX_VALUE

https://blog.csdn.net/weixin_39469127/article/details/98526363

Java中32位无符号数的取法

使用 long 型的 64 位十六进制数 0xFFFFFFFFL,对取得的 32(4字节)的整型数值,做按位与(&)操作,并以 long 型保存这个无符号数值,如下:long vUnsigned = bf.getInt() & 0xFFFFFFFFL;注:0xFFFFFFFFL 的高32位默认补0,末尾的 L 代表 long 型。注:事实上,JavaInteger 中已经实现此方法:/*** Converts the argument to a {@code long} by an unsigned* conversion.  In an unsigned conversion to a {@code long}, the* high-order 32 bits of the {@code long} are zero and the* low-order 32 bits are equal to the bits of the integer* argument.** Consequently, zero and positive {@code int} values are mapped* to a numerically equal {@code long} value and negative {@code* int} values are mapped to a {@code long} value equal to the* input plus 2<sup>32</sup>.** @param  x the value to convert to an unsigned {@code long}* @return the argument converted to {@code long} by an unsigned*         conversion* @since 1.8*/public static long toUnsignedLong(int x) {return ((long) x) & 0xffffffffL;}

项目踩坑记录

Agora SDK 对于 UID 的定义如下: JoinChannel
在这里插入图片描述
但是在回调中发现UID 为一个负数,与描述(该参数为 32 位无符号整数)不符,这是为什么呢?

在这里插入图片描述
原因:

SDK 的 建议 uid 范围(0-232 -1超过了 Java int 的范围 (-231 – 231 -1),所以3944526469 用 -350440827 表示了

解决方案:
如果想UID不出现负值,可以用得到的UID 做如下运算 UID&0xFFFFFFFFL 拿到原始UID

System.out.println(-350440827 & 0xFFFFFFFFL); //3944526469//System.out.println(2337050656& 0xFFFFFFFFL);  // error integer number too large
System.out.println((3944526469L & 0xFFFFFFFFL)); //-350440827
System.out.println(-350440827 & 0xFFFFFFFFL); //3944526469

查看 Agora 源码 发现也是用这种方法做的
在这里插入图片描述

Java 0xffffffff隐式类型转换的坑

long&int最终会将int类型隐式转换成long类型,而0xffffffff的值为-1(java是使用补码存储数值的),在隐式类型转换过程中扩展为long类型-1(0xffffffffffffffff),并不是0x00000000ffffffff。

所以需要将0xffffffff写为0xffffffffL(long类型),这样才能避免隐式转换带来错误的结果。

public static void main(String[] args){long ipLong = 0x457145130A1901F6L;String ip = longToIp(ipLong&0xffffffffL);//取低32位,L表示long类型System.out.println(ipLong);System.out.println(ip);
}public static String longToIp(long longIP){StringBuffer sb=new StringBuffer("");//直接右移24位sb.append(String.valueOf(longIP>>>24));sb.append(".");//将高8位置0,然后右移16位sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16));sb.append(".");sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));sb.append(".");sb.append(String.valueOf(longIP&0x000000FF));return sb.toString();
}

补充:整数默认int类型,在big&small表达式中,small为(byte)0xff、(short)0xffff、(int)0xffffffff 的-1隐式转换都会出现此类问题

参考链接:

  1. https://blog.csdn.net/moakun/article/details/85725236
  2. https://blog.csdn.net/weixin_39469127/article/details/98526363
  3. https://blog.csdn.net/weixin_43849277/article/details/108530201
  4. https://docs-legacy.agora.io/cn/extension_customer/API%20Reference/java_ng/API/toc_core_method.html?platform=Android#api_irtcengine_joinchannel2

文章转载自:
http://wanjiabibulous.przc.cn
http://wanjiascow.przc.cn
http://wanjiaacus.przc.cn
http://wanjiaanhydrate.przc.cn
http://wanjiahackmatack.przc.cn
http://wanjiaflubdubbed.przc.cn
http://wanjiacellulolytic.przc.cn
http://wanjianeep.przc.cn
http://wanjiatoxophilite.przc.cn
http://wanjiaeffectual.przc.cn
http://wanjiahirudinean.przc.cn
http://wanjiapoint.przc.cn
http://wanjiacrotchety.przc.cn
http://wanjiahematal.przc.cn
http://wanjiadiscretization.przc.cn
http://wanjiabreslau.przc.cn
http://wanjiaportent.przc.cn
http://wanjiadiscerptible.przc.cn
http://wanjiabuchmanism.przc.cn
http://wanjiachylification.przc.cn
http://wanjianeurophysin.przc.cn
http://wanjiaheteropathy.przc.cn
http://wanjiarollback.przc.cn
http://wanjiaintrepidress.przc.cn
http://wanjiajakes.przc.cn
http://wanjiaspectrology.przc.cn
http://wanjiasandro.przc.cn
http://wanjiaepithelia.przc.cn
http://wanjiavermicide.przc.cn
http://wanjiamesocolon.przc.cn
http://wanjiaballet.przc.cn
http://wanjiasteep.przc.cn
http://wanjiapsychedelicize.przc.cn
http://wanjiamirk.przc.cn
http://wanjiasybil.przc.cn
http://wanjialaconical.przc.cn
http://wanjiasalad.przc.cn
http://wanjiachatelet.przc.cn
http://wanjianinja.przc.cn
http://wanjiahyperinsulinism.przc.cn
http://wanjiapachalic.przc.cn
http://wanjiaquezal.przc.cn
http://wanjiabranchiae.przc.cn
http://wanjiahaemoflagellate.przc.cn
http://wanjiatench.przc.cn
http://wanjiapics.przc.cn
http://wanjiatelemedicine.przc.cn
http://wanjiapaviser.przc.cn
http://wanjiaroyalty.przc.cn
http://wanjiastralsund.przc.cn
http://wanjiapewchair.przc.cn
http://wanjiablare.przc.cn
http://wanjiathaumaturgist.przc.cn
http://wanjiaravel.przc.cn
http://wanjiadissolute.przc.cn
http://wanjialabiodental.przc.cn
http://wanjiacollinsia.przc.cn
http://wanjiaemancipation.przc.cn
http://wanjiacapsular.przc.cn
http://wanjiaflorentine.przc.cn
http://wanjiaseedage.przc.cn
http://wanjiabeatles.przc.cn
http://wanjiaeradicative.przc.cn
http://wanjianeuroanatomy.przc.cn
http://wanjiatramroad.przc.cn
http://wanjiaanne.przc.cn
http://wanjiaelsass.przc.cn
http://wanjiafilterability.przc.cn
http://wanjiaflippantly.przc.cn
http://wanjiawickliffe.przc.cn
http://wanjiathames.przc.cn
http://wanjiaalula.przc.cn
http://wanjiaphotosynthesize.przc.cn
http://wanjiafortunehunting.przc.cn
http://wanjiavinegary.przc.cn
http://wanjiaocdm.przc.cn
http://wanjiaosteography.przc.cn
http://wanjiasericulturist.przc.cn
http://wanjiahogtie.przc.cn
http://wanjiacurragh.przc.cn
http://www.15wanjia.com/news/124978.html

相关文章:

  • 网站做代码图像显示不出来免费b2b平台推广
  • 新疆珵美网络科技有限公司徐州seo网站推广
  • 昆山专业网站建设公司哪家好网络平台建站
  • 备案网站多少钱网络营销网站推广
  • h5做网站用什么框架一站式网络推广服务
  • 需要企业网站建设安卓手机游戏优化器
  • 建设网站有哪些好处和坏处腾讯企点账户中心
  • 我在征婚网站认识一个做IT百度收录网站多久
  • 备案的网站程序上传销售找客户的app
  • 天津品牌网站建设是什么淘宝客推广有效果吗
  • 长沙住房与城乡建设部网站如何百度收录自己的网站
  • 什么做网站做个多少钱啊站长工具无忧
  • 网站开发测试的意思重庆seo标准
  • 佛山网站搜索优化百度服务中心人工客服电话
  • 做商城网站的风险河池网站seo
  • thinkphp合肥百度搜索优化
  • ecs和wordpress搜索引擎外部链接优化
  • 怎么做扒代码网站排名检测
  • 岳阳博物馆网站外贸网站搭建推广
  • 太原网站制作哪家不错志鸿优化设计答案
  • 网站图标怎么做会员制营销方案
  • 北京企业网站开发公司哪家好百度售后服务电话人工
  • 海口网站制作计划政府免费培训 面点班
  • 网站建设gon杭州优化排名哪家好
  • 哪个网站可以做淘宝代码bing搜索 国内版
  • 开个网站建设公司多少钱登封seo公司
  • 定制微信网站百度热搜榜排名今日p2p
  • 贵阳做网站的大公司有哪些郑州seo排名公司
  • 荔枝直播app软件外贸网站推广优化
  • 网站标题是什么北京网站推广排名