原码、反码、补码的概念和应用
展开全部
【原码、反码、补码的换算】
【原码】: 第一位表示符号位,1为负,0为正
+1【源码】 0000 0001
-1 【源码】1000 0001
【原码转反码】:正值反码是其本身,负值的反码符号位不变,其余值取反
+1 【原码】 0000 0001 【反码】 0000 0001
-1 【原码】1000 0001 【反码】1111 1110
【源码转补码】:正值的补码是它本身,负值的补码符号位不变,其它反码+1
+1 【原码】 0000 0001 【反码】0000 0001 【补码】0000 0001
-1 【原码】 1000 0001 【反码】1111 1110 【补码】1111 1111
计算机中,负值是以补码形式存在的
【应用举例】
public class A {
static void main String(string[] args){
int b = 456;
byte a = (byte)b;
System.out.println(); // -56
}
}
解释:
1)456,int类型 为 00000000 00000000 00000001 1100 10000
2)强制类型转换成byte类型,byte为8位,所以 (byte 456) 1100 1000
3)首字符为1,是负值,计算机中,负数是以补码形式存在的
4)所以,byte 456,【原码的反码】:补码 - 1 ,符号位不变,值-1,为1100 0111【补】,【原码】负数的符号位不变,其他值取反:1011 1000【原】转成十进制是-56
【原码】: 第一位表示符号位,1为负,0为正
+1【源码】 0000 0001
-1 【源码】1000 0001
【原码转反码】:正值反码是其本身,负值的反码符号位不变,其余值取反
+1 【原码】 0000 0001 【反码】 0000 0001
-1 【原码】1000 0001 【反码】1111 1110
【源码转补码】:正值的补码是它本身,负值的补码符号位不变,其它反码+1
+1 【原码】 0000 0001 【反码】0000 0001 【补码】0000 0001
-1 【原码】 1000 0001 【反码】1111 1110 【补码】1111 1111
计算机中,负值是以补码形式存在的
【应用举例】
public class A {
static void main String(string[] args){
int b = 456;
byte a = (byte)b;
System.out.println(); // -56
}
}
解释:
1)456,int类型 为 00000000 00000000 00000001 1100 10000
2)强制类型转换成byte类型,byte为8位,所以 (byte 456) 1100 1000
3)首字符为1,是负值,计算机中,负数是以补码形式存在的
4)所以,byte 456,【原码的反码】:补码 - 1 ,符号位不变,值-1,为1100 0111【补】,【原码】负数的符号位不变,其他值取反:1011 1000【原】转成十进制是-56
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
富港检测东莞有限公司
2024-12-25 广告
2024-12-25 广告
ISTA3L是一个基于研究、数据驱动的测试协议,它模拟了由零售公司完成的产品订单被直接运送给消费者时所经历的危险,它允许用户评估包装产品的能力,以承受运输和处理包装产品时所经历的供应链危险,从接收到任何电子商务零售商履行操作,直到最终消费者...
点击进入详情页
本回答由富港检测东莞有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询