进制转换

来源:互联网 发布:matlab求矩阵的最小值 编辑:程序博客网 时间:2024/06/01 10:19
package com.jiepu.jfinal;/** * java进制转换 * */public class App {    public static void main( String[] args )    {        System.out.println( "Hello World!" );                int n1 = 14;        //十进制转成十六进制:        System.out.println(Integer.toHexString(n1));        //十进制转成八进制       System.out.println(Integer.toOctalString(n1));        //十进制转成二进制       System.out.println(Integer.toBinaryString(12));                //十六进制转成十进制       System.out.println(Integer.valueOf("FFFF",16).toString());        //十六进制转成二进制       System.out.println(Integer.toBinaryString(Integer.valueOf("FFFF",16)));        //十六进制转成八进制       System.out.println(Integer.toOctalString(Integer.valueOf("FFFF",16)));               System.out.println("===");        //八进制转成十进制        System.out.println(Integer.valueOf("576",8).toString());        //八进制转成二进制       System.out.println(Integer.toBinaryString(Integer.valueOf("23",8)));        //八进制转成十六进制       System.out.println(Integer.toHexString(Integer.valueOf("23",8)));    //二进制转十进制        System.out.println(Integer.valueOf("10100",2).toString());        //二进制转八进制       System.out.println(Integer.toOctalString(Integer.parseInt("10100", 2)));        //二进制转十六进制       System.out.println(Integer.toHexString(Integer.parseInt("10100", 2)));    }}
//将字符串a, b, c,d分别采用10,2,16,8进制转换成数字//------------------------------------------------#include <stdlib.h>#include <stdio.h>#include <conio.h>#include <string>int main(){char a[] = "100";char b[] = "100";char c[] = "0x11";char d[] = "100";int x, y, z,m;x = strtol( a, NULL, 10 );y = strtol( b, NULL, 2 );z = strtol( c, NULL, 16 );m = strtol( d, NULL, 8 );printf( "x = %d\n", x );printf( "y = %d\n", y );printf( "z = %d\n", z );printf( "m = %d\n", m );getch();return 0;}
#include <stdlib.h>#include <stdio.h>#include <string.h>//函数itob实际上是一个整数转任意进制(2~36)void itob(int n, char s[], int b);void new_reverse(char s[]);int main(void){char buffer[10];int iTmp, radix, flag;while (1){printf("Please input a int number(q to quit): ");flag = scanf("%d", &iTmp);if (flag != 1)break;printf("Please input the radix in dec num: ");scanf("%d", &radix);while (getchar() != '\n');itob(iTmp, buffer, radix);printf("Dec num %d in radix %d is %s\n\n", iTmp, radix, buffer);}system("pause");return 0;}//整型转字符型(含进制转化): 编写函数itob(n,s,b),将整数n转换为以b为底的数,结果存入s. 例如,itob(n,s,16)把整数n格式化成十六进制整数保存在s中.void itob(int n, char s[], int b){static char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";int i, sign;if (b < 2 || b > 36){fprintf(stderr, "Can not suppoert base %d\n", b);exit (0);}if ((sign = n) < 0)n = -n;i = 0;do {s[i++] = digits[n % b];} while ((n /= b) > 0);if (sign < 0)s[i++] = '-';s[i] = '\0';new_reverse(s);}void new_reverse(char s[]){int c, i, j;for (i = 0, j = strlen(s)-1; i < j; i++,j--){c = s[i];s[i] = s[j];s[j] = c;}}



0 0