当前位置: 首页 > 面试题库 >

多播期间的行为更改

戎亦
2023-03-14
问题内容

以下是一个简单的声明

System.out.println((int)(char)(byte)-1);
  1. 当我运行它时输出为65535。我不知道原因。
  2. 在执行期间(字节)-1返回-1,因此(int)(char)(byte)-1等价于(int)(char)-1。当我打印(char)-1时,它? 在某些系统中打印,而不在所有系统中打印。
  3. 如果我忽略上述第二点并打印(int)’?’ 然后打印63

所以我的问题是,如果我一起进行多播,(int)(char)(byte)-1那我得到了,65535但是如果我分部进行了广播,那

  • (字节)-1
  • (字符)-1
  • (int)’?’

然后我得到63,为什么呢?


问题答案:

对于1):

首先,您有一个整数(32位)的二进制表示形式-1是:

1111 1111 1111 1111 1111 1111 1111 1111

然后,将其转换为一个字节(8位):

1111 1111

如果打印出来,将得到-1(即-1的byte表示形式),然后将其转换为一个char(16位无符号字符),这将为您提供:

1111 1111 1111 1111

(因为它会“扩展”符号),如果您尝试将其打印为字符,则会得到“无法识别”的字符(在某些系统中,它将打印问号),然后将其强制转换为int; 但是,a
char是无符号的,因此该符号有一个展开式(因为没有符号),因此您最终拥有:

0000 0000 0000 0000 1111 1111 1111 1111

十进制等于65535

对于2):

不,(int)(char)(byte)-1不等同于(int)(char)-1(请参阅#1的说明)



 类似资料:
  • 如何在不使用那个方法(Id)的clearInterval()的情况下更改setInterval()方法中的period(定时器)? 我想让这个方法有一个初始的固定速度,并随着时间的推移而变慢,并且在setTimeout()方法的帮助下在10秒内完成,例如? 如果我能得到一些例子,我将非常感激:)

  • 问题内容: 我有一列称为,我希望每一行都保存一个随机日期,该日期距当前时间为-2天。 我正在运行以下查询,但它使用相同的随机日期更新所有行。我希望每一行都是随机的,并且不一样。 任何想法将不胜感激。 问题答案: 使用表达式代替查询:

  • 问题内容: 我有一个带有日期列的数据框,它看起来像这样。有多个日期列,例如结束日期,会计年度日期等。 我正在尝试编写一个函数,该函数基本上将那些整数更改为适当的日期格式,并将此列的格式设置为datetime [64]。此列格式是当前对象类型。 我写了下面的功能 现在回馈 我想这些数字不会转换为日期。但我不确定我还能如何调整我的代码。 任何想法? 亚当 问题答案: 参考如何将给定序数(从Excel)

  • 我的输入值是'13/5/201412:00:00am',我需要将此格式更改为'2014-5-1300:00:00',但所有的datetime变量都是以dd-mm-yyyy格式返回的。我不想将日期转换为字符串,我希望将日期值存储在datetime属性中,并使用'yyyy-mm-dd'格式:

  • 如何将 2 个 graphql 查询与 react-apollo-hooks 结合使用,其中第 2 个查询依赖于从第 1 个查询中检索到的参数? 我尝试使用如下所示的两个查询: 然而,当我运行我的项目时,react-hooks给我以下消息: " index.js:1437警告:React检测到Upgrade调用的挂钩顺序发生了变化。如果不修复,这将导致错误和错误。有关更多信息,请阅读“挂钩规则”

  • 问题内容: 我已经编写了一个JavaScript函数,该函数使用setInterval每隔十分之一秒的时间对字符串进行一定次数的迭代。 我不想将间隔设置为特定的数字,而是希望每次运行时都基于一个计数器对其进行更新。所以代替: 就像这样: 不幸的是,那没有用。似乎“ 10 *计数器”等于0。 因此,如何在每次匿名函数运行时调整时间间隔? 问题答案: 使用代替。然后,回调将负责引发下一个超时,此时您可