最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java原碼補碼反碼關系解析

 更新時間:2020年02月04日 09:20:29   作者:cf8833  
這篇文章主要為大家詳細介紹了java原碼補碼反碼的關系,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家解析了java原碼補碼反碼的關系,供大家參考,具體內(nèi)容如下

原碼:不管源數(shù)據(jù)是十進制還是十六進制,統(tǒng)統(tǒng)將數(shù)字轉(zhuǎn)成二進制形式

反碼:把原碼的二進制統(tǒng)統(tǒng)反過來,0變成1,1變成0

補碼:負數(shù)的反碼加1,就是負數(shù)的補碼

例子1:

十進制整數(shù) -5,-5的原碼101,-5的反碼1,010,-5的補碼1,011, 
所以,-5的反碼是-2,-5的補碼是-3,其中前面的"1,",表示正數(shù)負數(shù)

例子2:

十六進制  -ff9B  
原碼  11111111111110011011
反碼  00000000000001100100    十進制100
補碼  00000000000001100100   十進制101
原來正確的操作流程是,把16進制ff9B轉(zhuǎn)成2進制,然后直接反碼,再算補碼,就是溫度數(shù)據(jù)

代碼驗證:

package comtest.example.admin.znum;
 
/**
 * Created by wrs on 2019/6/5,16:25
 * projectName: Testz
 * packageName: comtest.example.admin.znum
 * 輸入一個真值(整數(shù))求它的原碼,反碼,補碼
 */
 
 
import java.util.Scanner;
 
 
public class Test {
 public static void main(String[] args) {
 System.out.println("True value--> original code");
 System.out.println("Please enter an integer!!!!!");
 Scanner sc = new Scanner(System.in);
 int value = sc.nextInt();
 StringBuilder syuan = new StringBuilder();
 if (value > 0) {
 String Bvalue = Integer.toBinaryString(value);//將一個整數(shù)轉(zhuǎn)換成字符串類型的二進制數(shù)
 int n = Bvalue.length(); //二進制的數(shù)字的個數(shù)n
 syuan.append("0,");
 syuan.append(Bvalue);
 System.out.println("Original code " + syuan); //原碼
 System.out.println("Complement code " + syuan); //補碼
 System.out.println("Inverse code " + syuan); //反碼
 
// System.out.println("二進制數(shù)的n "+n);
 } else if (value < 0) {
 int value2 = Math.abs(value); //負數(shù)的絕對值
 int value3 = value2 - 1; //減一求反,求補碼
 String Bvalue = Integer.toBinaryString(value2);
 String BFvalue = Integer.toBinaryString(~value2);
 int n = Bvalue.length();
 String str = BFvalue.substring(BFvalue.length() - n); //截取反碼的后幾個數(shù)
 syuan.append("1,");
 syuan.append(Bvalue);
 System.out.println("Original code is :" + syuan);
 System.out.println("Inverse code is :1," + str);
 String BBvalue = Integer.toBinaryString(~value3);
 String str3 = BBvalue.substring(BFvalue.length() - n);
 System.out.println("Complement code is :1," + str3);
 } else {
 System.out.println("0 Original code is not only");
 System.out.println("[+0]riginal code 00.....0");
 System.out.println("[-0]riginal code 10.....0");
 System.out.println("--------------------------------------------");
 System.out.println("0 Complement code is not only");
 System.out.println("[+0]和[-0] Complement code 00.....0");
 System.out.println("---------------------------------------------");
 System.out.println("0 Inverse code is not only");
 System.out.println("[+0]Inverse code00..........0");
 System.out.println("[-0]Inverse code11..........1");
 }
 System.out.println("-------------------------------------------------");
 
 }
}

運行效果:

-------------------------------------------------
True value--> original code
Please enter an integer!!!!!
-65435
Original code is :1,1111111110011011
Inverse code is :1,0000000001100100
Complement code is :1,0000000001100101
-------------------------------------------------

 以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java中的MapStruct用法詳解

    Java中的MapStruct用法詳解

    這篇文章主要介紹了Java中的MapStruct用法詳解,MapStuct的使用非常簡單,把對應的jar包引入即可,本文通過示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析

    Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析

    為了簡化MyBatis的使用,MyBatis提供了接口方式自動化生成調(diào)用過程,可以大大簡化MyBatis的開發(fā),下面這篇文章主要給大家介紹了關于Mybatis如何通過接口實現(xiàn)sql執(zhí)行原理解析的相關資料,需要的朋友可以參考下
    2023-01-01
  • Java使用Callable和Future創(chuàng)建線程操作示例

    Java使用Callable和Future創(chuàng)建線程操作示例

    這篇文章主要介紹了Java使用Callable和Future創(chuàng)建線程操作,結(jié)合實例形式分析了java使用Callable接口和Future類創(chuàng)建線程的相關操作技巧與注意事項,需要的朋友可以參考下
    2019-09-09
  • 如何利用IDEA快速生成實體類

    如何利用IDEA快速生成實體類

    這篇文章主要介紹了如何利用IDEA快速生成實體類問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Java?zxing實現(xiàn)生成并解析二維碼與條形碼

    Java?zxing實現(xiàn)生成并解析二維碼與條形碼

    這篇文章主要為大家詳細介紹了Java如何通過zxing實現(xiàn)生成并解析二維碼與條形碼,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下
    2024-11-11
  • java File類的基本使用方法總結(jié)

    java File類的基本使用方法總結(jié)

    這篇文章主要介紹了java File類的基本使用方法總結(jié),為大家分享了java實現(xiàn)上傳代碼,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JAVA 日常開發(fā)中Websocket示例詳解

    JAVA 日常開發(fā)中Websocket示例詳解

    JAVA |日常開發(fā)中Websocket詳解,WebSocket是一種在單個TCP連接上進行全雙工通信的協(xié)議,它在Web應用中實現(xiàn)了客戶端與服務器之間的實時數(shù)據(jù)傳輸,本文將詳細介紹Java開發(fā)中WebSocket的使用,包括基本概念、Java API、使用示例以及注意事項,感興趣的朋友一起看看吧
    2024-12-12
  • 關于微服務使用Dubbo設置的端口和server.port的區(qū)別

    關于微服務使用Dubbo設置的端口和server.port的區(qū)別

    這篇文章主要介紹了關于微服務使用Dubbo設置的端口和server.port的區(qū)別,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式

    阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式

    本文主要介紹了阿里nacos+springboot+dubbo2.7.3統(tǒng)一處理異常的兩種方式,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 在Java的Struts框架中ONGL表達式的基礎使用入門

    在Java的Struts框架中ONGL表達式的基礎使用入門

    這篇文章主要介紹了深入解析在Java的Struts框架中ONGL表達式的基礎使用入門,Struts框架是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下
    2015-11-11

最新評論

兰溪市| 项城市| 满城县| 瑞金市| 岳西县| 夏河县| 广昌县| 焦作市| 万山特区| 南靖县| 修水县| 聂拉木县| 通榆县| 宁远县| 阜城县| 土默特左旗| 宁阳县| 禹州市| 宁蒗| 多伦县| 河池市| 张家界市| 忻城县| 达日县| 花莲市| 德清县| 灵璧县| 桦南县| 开化县| 都兰县| 随州市| 永城市| 大宁县| 堆龙德庆县| 姚安县| 呼图壁县| 奎屯市| 武陟县| 自治县| 临沭县| 临安市|