第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于java中補(bǔ)碼的概念以及如何用編程輸出補(bǔ)碼

標(biāo)簽:
Java
  • 关于原码反码补码

以下例子都为8字节

不论原码反码还是补码第一个数字0都表示正数,1表示负数

例:11110010的第一个数字是1表明该数是负数,对应十进制的-14

正数的原码补码反码都一样

负数的原码换成反码第一位不变,其他位取反

反码换成补码+1即可

例:-14的原码10001110,反码是11110001,补码是11110010

如果想知道一个补码对应的十进制是多少最简单的方法是先看第一位数字符号是1还是0确定正负,如果是正数可以直接得出十进制,如果是负数则根据补码求出原码,然后再得出具体数字

  • 补充说明

0的补码是00000000,-1的补码是11111111(-1的原码是10000001)

0~127的补码就是按顺序往上加,00000000,00000001,00000002以此类推

-1~-128的补码则是按顺序往下减,11111111,11111110,11111101以此类推

之所以byte的取值范围是-128~127是因为正数是从0开始取而负数从-1开始取

  • 编程实现

public class PrintComplementCode {//输出一个数字的补码
    
    public static void printComplementCode(byte i){//输出补码的方法
        for(int j=7;j>=0;j--)
            if(((1<<j)&i)!=0)//1<<j表示00000001左移j位
                System.out.print("1");
            else
                System.out.print("0");
        System.out.print("\n");
    }

    public static void main(String[] args) {//生成一个-128~127的数并输出这个数的补码
        byte num=(byte) (Math.random()*256-128);
        System.out.print(num+"的补码是");
        printComplementCode(num);
    }
}

  • 输出结果

-70的补码是10111010

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消