永发信息网

类型转换怎么补位

答案:2  悬赏:50  手机版
解决时间 2021-01-03 16:06
  • 提问者网友:轻浮
  • 2021-01-03 08:25
类型转换怎么补位
byte转int 是补1还是补0 为什么 什么时候补1什么时候补0
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-01-03 09:36
如果你把byte的值理解成0到255(即无符号数),那么转成int直接高8位全补0。比如:
byte: 10001010(B) = 138(D)
int : 0000000010001010(B)

如果把byte理解成-128到127就麻烦些,因为此时涉及原码、反码、补码的概念,具体请参考计算机基础的相关资料。
简单的说,此时如果byte的最高位是1,则int高8位全补1;如果是0,就全补0。比如:
byte: 10001010(B) = -118(D)
int : 1111111110001010(B)

byte: 01100011(B) = 99(D)
int : 0000000001100011(B)
全部回答
  • 1楼网友:雪起风沙痕
  • 2021-01-03 11:16
你好:试试下面的方法 public static void main(string args[]){ string s = "1010
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯