「javabyte运算」java的进制算法怎么算的

博主:adminadmin 2022-12-28 08:33:06 97

本篇文章给大家谈谈javabyte运算,以及java的进制算法怎么算的对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java(byte)>>>时怎么运算的

移位操作:

左移:向左移位,符号后面的数字是移了多少位,移的位用0补齐,例如2进制数01111111左移一位后变为11111110,移位是字节操作。

右移:向右移位,符号后面的数字是移了多少位,移的位用符号位补齐,例如01111111右移一位后变为00111111,而10000000右移一位后变成11000000,因为符号位是1。

(byte)0xa22 = 2

(byte)0x722 = 28

(int)0xa22 =28 (错误)

(byte)0x72 是十进制的114, 114转换成二进制是 1110010,11100102 (位移两位)是11100,而11100转换成十进制是:28

而(int)0xa2是十进制的162,162转换成二进制是 10100010, 101000102 是101000 ,实际的值是40,不是28.

java中位运算符,(byte) 0x80 的那个,为何答案是-32

0x80 表示 128,(0x 代表 16 进制,8 * 16¹ + 0 * 16º = 128),128 的二进制是 10000000,即 2 的 7 次方。

byte 共有 8 位,表示范围是 -128 ~ 127,二进制即 10000000 ~ 01111111,第一位为符号位,1 表示负数,0 表示整数,11111111 即表示 -127,10000000 比较特殊,表示 -128。所以,0x80 本来是整数的 128,二进制 00000000000000000000000010000000 (Java 中整数4个字节32位)。(byte)0x80,将其转换为 byte,即截取最后 8 位,即 10000000,就是 byte 中的 -128。

表示右移操作,右移一位表示除以 2。(byte)0x80 2,表示将(byte)0x80右移两位,那么就是 -128 ÷ 2 ÷ 2 = -32。

Java中byte的加法

byte的范围是-128到127,超出了的部分到下一个循环里

b3比上限超出了29,所以最终是-100

PS,127+1在byte里会变成-128,所以不是直接用-128+29,而是-128+28,因为原来的数字加上1才能到-128

关于javabyte运算和java的进制算法怎么算的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。