public class PrintHex {
public static void main(String[] args) {
int num = 565686798;// 要转换的数字
System.out.println(toHex(num));
System.out.println(Integer.toHexString(num));
int nums[] = { 2, 65, 23, 67, 989, 1, 24, 8, 12 };
bubbleSort(nums);
}
/*
* 首先10进制的数去按位与2进制的15.这其实相当于去模16.当你要模2的N次方数的时候其等价于按位与2的N次方数减1而且效率还要高于取模运算.
* 因此按位与2进制的15可以得到16进制的数
* 但是这仅仅是得到第一个数而已,因为按位与是两个数都是1才是1,因此你与的数是000000001111,也就是说前面的那些0并不会去影响
* 所以此时你右移4位的话能够取到第一个16进制数
* 然后还需要再继续与15才能取到下一位的16进制数.所以与一次15就能得到一位16进制数,然后右移4位之后再与15才能得到下一位数.
*/
public static String toHex(int num) {
final char digits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'A', 'B', 'C', 'D', 'E', 'F' };
StringBuilder sb = new StringBuilder();
while (num > 0) {
sb.append(digits[num & 15]);
num >>= 4;
}
return sb.reverse().toString();
}
public static void bubbleSort(int nums[]) {
int temp;
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length; j++) {
if (nums[j] > nums[i]) {
temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
}
}
for (int k = 0; k < nums.length; k++) {
System.out.print(nums[k] + ", ");
}
}
}
十进制转十六进制和冒泡排序
原文作者:进制转换
原文地址: https://blog.csdn.net/twoicewoo/article/details/8487845
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/twoicewoo/article/details/8487845
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。