数组---进制转换(查表法)
生活随笔
收集整理的這篇文章主要介紹了
数组---进制转换(查表法)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.shuzu;
public class shuzuJinZhiZhuanHuan {
?? ? * @param a 所要轉換的十進制數,b 不同進制所要與(&)的數不同,wei 向右移動幾位
?? ? * 查表法
?? ? * 十進制轉二進制
?? ? * 十進制轉十六進制
?? ? * 定義數組字符表
?? ? * 定義數組容器arr,長度為32位(二進制) or 8位(十六進制)
?? ? * 定義指針pos
?? ? * 循環傳入參數(int a),判斷a的值如果不等于0繼續循環
?? ? *
?? ? * 60---0000 0000 0000 0000 0000 0000 0011 1100
?? ? * &15? 0000 0000 0000 0000 0000 0000 0000 1111
?? ? * ----------------------------------------------
?? ? *????? 0000 0000 0000 0000 0000 0000 0000 1100 = 12 'C'
?? ?
?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?trans(60,15,4);
?? ?}
?? ?
?? ?public static void trans(int a,int b,int wei){
?? ??? ?char[] temp = { '0','1','2','3',
?? ??? ??? ??? ??? ??? ?'4','5','6','7',
?? ??? ??? ??? ??? ??? ?'8','9','A','B',
?? ??? ??? ??? ??? ??? ?'C','D','E','F' }; //字符表
?? ??? ?char[] arr = new char[32];?? //定義容器,用來存儲轉換后的字符數組
?? ??? ?int su = 0;?? ??? ??? ??? ??? ? //定義臨時變量,用于存儲與&之后的結果
?? ??? ?int pos = arr.length;?? ??? ? //定義指針下標,從數組的最后一位開始,用于從后往前存,將結果反轉
?? ??? ?while(a!=0){?? ??? ??? ??? ? //循環移位之后的十進制數
?? ??? ??? ?su = a & b;?? ??? ??? ??? ? //將與&的結果存入臨時變量su中?? ?
?? ??? ??? ?arr[--pos] = temp[su];?? ? //temp[su],將字符表中下標位su的字符存入arr中,--pos,從數組的最后一位開始存,每次減一向前移動一位
?? ??? ??? ?a = a >>> wei;?? ??? ??? ? //將十進制數想右移動4位(十六進制) or 1位(二進制),一遍得到下一個四位的值
public class shuzuJinZhiZhuanHuan {
?? ? * @param a 所要轉換的十進制數,b 不同進制所要與(&)的數不同,wei 向右移動幾位
?? ? * 查表法
?? ? * 十進制轉二進制
?? ? * 十進制轉十六進制
?? ? * 定義數組字符表
?? ? * 定義數組容器arr,長度為32位(二進制) or 8位(十六進制)
?? ? * 定義指針pos
?? ? * 循環傳入參數(int a),判斷a的值如果不等于0繼續循環
?? ? *
?? ? * 60---0000 0000 0000 0000 0000 0000 0011 1100
?? ? * &15? 0000 0000 0000 0000 0000 0000 0000 1111
?? ? * ----------------------------------------------
?? ? *????? 0000 0000 0000 0000 0000 0000 0000 1100 = 12 'C'
?? ?
?? ?public static void main(String[] args) {
?? ??? ?// TODO Auto-generated method stub
?? ??? ?trans(60,15,4);
?? ?}
?? ?
?? ?public static void trans(int a,int b,int wei){
?? ??? ?char[] temp = { '0','1','2','3',
?? ??? ??? ??? ??? ??? ?'4','5','6','7',
?? ??? ??? ??? ??? ??? ?'8','9','A','B',
?? ??? ??? ??? ??? ??? ?'C','D','E','F' }; //字符表
?? ??? ?char[] arr = new char[32];?? //定義容器,用來存儲轉換后的字符數組
?? ??? ?int su = 0;?? ??? ??? ??? ??? ? //定義臨時變量,用于存儲與&之后的結果
?? ??? ?int pos = arr.length;?? ??? ? //定義指針下標,從數組的最后一位開始,用于從后往前存,將結果反轉
?? ??? ?while(a!=0){?? ??? ??? ??? ? //循環移位之后的十進制數
?? ??? ??? ?su = a & b;?? ??? ??? ??? ? //將與&的結果存入臨時變量su中?? ?
?? ??? ??? ?arr[--pos] = temp[su];?? ? //temp[su],將字符表中下標位su的字符存入arr中,--pos,從數組的最后一位開始存,每次減一向前移動一位
?? ??? ??? ?a = a >>> wei;?? ??? ??? ? //將十進制數想右移動4位(十六進制) or 1位(二進制),一遍得到下一個四位的值
轉載于:https://www.cnblogs.com/limpoo/p/3313470.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的数组---进制转换(查表法)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AMD:“全民四核”大作战
- 下一篇: org.hibernate.annota