java中的原码、补码、反码

1.原码、反码、补码都是由符号位和其他位构成,符号位表示正负,0为正1为负,其余位表示数值的绝对值,因此正数的原码、反码、补码一致,0的反码、补码都是0。
2.负数的反码在原码的基础上符号位不变,其余位取反
3.负数的补码=反码+1
4.java中的数都是有符号的,计算机运算时都是以补码的方式来运算的(原码–>反码–>补码,计算),看结果时要看原码(补码–>反码–>原码)
转换思路:
原码—>反码:第1位不变,从第2位开始0变1,1变0
反码—>补码:从最低位开始进1,若当前位为0,则进1后停止进位,若当前位为1,则1变0后接着进位,直到遇到0,停止进位
(可以理解为携带的1是否上交出去,只有遇到0才能交出去,遇到1则上交失败,将当前为变为0后继续寻找下一个位置)

public static String originalToComplement(String original) 
{
   
   
//取符号位
	char signBit=original.chatAt(0);
	StringBuilder fanma = new StringBuilder();
	StringBuilder buma 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值