日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

數(shù)制轉(zhuǎn)換

 _bolo 2019-11-14

package com.sjtu.design.excise;

import java.util.Scanner;

/**

 * @class 數(shù)制轉(zhuǎn)換類

 * @author TangShuGuang

 */

public class NumConversion {

/**

* @category 除基倒取余法

* @describe 這是最符合我們平時(shí)的數(shù)學(xué)邏輯思維的,即輸入一個(gè)十進(jìn)制數(shù)n,每次用n除以2,把余數(shù)記下來,再用商去除以2...

*           依次循環(huán),直到商為0結(jié)束,把余數(shù)倒著依次排列,就構(gòu)成了轉(zhuǎn)換后的二進(jìn)制數(shù)。那么,在實(shí)際實(shí)現(xiàn)中,

*           可以用int的一個(gè)數(shù)來存儲(chǔ)最后的二進(jìn)制,每次求余后把余數(shù)存儲(chǔ)在int型數(shù)的低位,依次遞增。

* @param num

*/

public void binary(int num) {

int t = 0; // 用來記錄位數(shù)

int bin = 0; // 用來記錄最后的二進(jìn)制數(shù)

int r = 0; // 用來存儲(chǔ)余數(shù)

while (num != 0) {

r = num % 2;

num = num / 2;

bin += r * Math.pow(10, t);

t++;

}

System.out.println("二進(jìn)制值:" + bin);

// int oct=Integer.parseInt(str,2);

// System.out.println("二進(jìn)制值:" + Integer.toBinaryString(oct));//binary函數(shù)

}

/**

* @category 除基倒取余法

* @describe 這是最符合我們平時(shí)的數(shù)學(xué)邏輯思維的,即輸入一個(gè)十進(jìn)制數(shù)n,每次用n除以8,把余數(shù)記下來,再用商去除以8...

*           依次循環(huán),直到商為0結(jié)束,把余數(shù)倒著依次排列,就構(gòu)成了轉(zhuǎn)換后的八進(jìn)制數(shù)。那么,在實(shí)際實(shí)現(xiàn)中,

*           可以用int的一個(gè)數(shù)來存儲(chǔ)最后的八進(jìn)制,每次求余后把余數(shù)存儲(chǔ)在int型數(shù)的低位,依次遞增。

* @param num

*/

public void octal(int num) {

int t = 0; // 用來記錄位數(shù)

int bin = 0; // 用來記錄最后的二進(jìn)制數(shù)

int r = 0; // 用來存儲(chǔ)余數(shù)

while (num != 0) {

r = num % 8;

num = num / 8;

bin += r * Math.pow(10, t);

t++;

}

System.out.println("八進(jìn)制值:" + bin);

// int oct = Integer.parseInt(str, 2);

// System.out.println("八進(jìn)制值:" + Integer.toOctalString(oct));//octal函數(shù)

}

/**

* 問題描述 十六進(jìn)制數(shù)是在程序設(shè)計(jì)時(shí)經(jīng)常要使用到的一種整數(shù)的表示方式。

* 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16個(gè)符號(hào),分別表示十進(jìn)制數(shù)的0至15。

* 十六進(jìn)制的計(jì)數(shù)方法是滿16進(jìn)1,所以十進(jìn)制數(shù)16在十六進(jìn)制中是10,而十進(jìn)制的17在十六進(jìn)制中是11,

* 以此類推,十進(jìn)制的30在十六進(jìn)制中是1E。給出一個(gè)非負(fù)整數(shù),將它表示成十六進(jìn)制的形式。

* @param num

*/

public void hexadecimal(int num) {

String s = "";

char c = ' ';

if (num == 0) {

s = "0";

}

int m;

while (num != 0) {

m = num % 16;

if (m / 10 == 1)

c = (char) (65 + (m % 10));

else if (m / 10 == 0)

c = (char) (48 + m);

s = c + s;

num = num / 16;

}

System.out.println("十六進(jìn)制值:" + s);

// int oct = Integer.parseInt(str, 2);

// System.out.println("十六進(jìn)制值:" + Integer.toHexString(oct));//hex函數(shù)

}

public void ds(int a) {

if(a<0) {

System.out.println("|"+a+"|的絕對(duì)值是:"+(-a));

}else {

System.out.println("|"+a+"|的絕對(duì)值是:"+(-a));

}

}

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("請(qǐng)輸入十進(jìn)制值:");

String str = input.next();

int num = Integer.parseInt(str);

NumConversion conv = new NumConversion();

conv.binary(num);

conv.octal(num);

conv.hexadecimal(num);

//conv.ds(num);

}

}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多