进制转换(数据存储)

原创 2015年07月08日 21:03:24
class ArrDemo4
{
	public static void main(String[] args)
	{
		tobin(0);
		toba(60);
		tohex(-6);
	}


	
//十进制转二进制
	/*public static void tobin(int x)
	{
		StringBuffer sb=new StringBuffer();
		while(x!=0)
		{
			sb.append(x%2);
			x=x/2;
		}
		System.out.println(sb.reverse());
	}
	*/
	


//下面转十六进制
/*public static void tohex(int x)
	{
	StringBuffer sb=new StringBuffer();
		while(x!=0)
		{
			int t=x&15;
			if(t>9) sb.append((char)(t-10+'A'));
			else sb.append(t);
			x=x>>>4;
		}
		System.out.println(sb.reverse());
	}*/
	//这个可以算负数,上面的转二进制的算法不能算负数;



	//转二进制可以算负数的算法
/*public static void tobin(int x)
	{
	StringBuffer sb=new StringBuffer();
		while(x!=0)
		{
			int t=x&1;
			 sb.append(t);
			x=x>>>1;
		}
System.out.println(sb.reverse());
	}*/

//所有功能合并
public static void tobin(int num)//转二进制
	{
			arrzh(num,1,1);
	}

public static void toba(int num)//转八进制
	{
			arrzh(num,3,7);
    }

public static void tohex(int num)//转十六进制
	{
	         arrzh(num,4,15);
    }

public static void arrzh(int num,int z,int base)
	{	
	StringBuffer sb=new StringBuffer();
if(num==0) System.out.println(0);
else
	{
      while(num!=0)
		{
		  int t=num&base;
		  if(t>9) sb.append((char)(t-10+'A'));
		  else  sb.append(t);
		   num=num>>>z;
	   }
	   System.out.println(sb.reverse());
	}
      // int a[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
	  //也可以用数组来存储数据
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

把内存中的数据转化成16进制显示

今天遇到需要将内存中的原始数据以16进制方式输出: 方法为: int i=0; CString str,str1; unsigned char buf[256]; //buf1是你自己的数据...
  • lxw907304340
  • lxw907304340
  • 2015年07月20日 11:48
  • 1471

一个小菜鸟对数据在内存中的二进制存储的理解

之前一直不理解数据在内存中的存储方式,只知道教科书上写死的是整数在内存中以补码形式储存,所谓的补码就是根据整数的原码,正数的补码就是原码本身,负数则是原码除符号位外每一位都取反然后加一,例如整数10 ...
  • baidu_20792589
  • baidu_20792589
  • 2015年12月13日 15:53
  • 1255

任意进制转换(转化器,算法,类)

介绍 此类库支持2(二进制)到36之间任意进制的转换。 类库提供了一些常见的转换(如二进制到十进制),也支持高级的转换(如20进制到5进制) 快速使用:内置转换器 Convert.BinToD...
  • goulei2010
  • goulei2010
  • 2016年12月08日 15:53
  • 682

采用顺序栈完成进制转换

采用顺序栈完成进制转换 (1)定义顺序栈的存储结构; (2)实现顺序栈的初始化、判断是否为空、进栈、出栈等基本操作; (3)调用顺序栈的基本操作实现进制转换。 代码: #includ...
  • migu77777
  • migu77777
  • 2016年10月17日 20:08
  • 1180

进制转换,用栈实现

今天看数据结构中的栈解决进制转换的问题,实现了一下。
  • guang_jing
  • guang_jing
  • 2014年05月06日 11:25
  • 1888

二进制转换及位运算

------- android培训、java培训、期待与您交流! ---------- 进制之间的转换与位运算 二进制、八进制、十进制与十六进制,它们之间的区别在于数运算时逢几进一位。比如说...
  • qq_20974155
  • qq_20974155
  • 2016年02月25日 08:53
  • 1712

C++实现——任意进制之间的转换

#include #include using namespace std; //任意进制之间的转换/** * s1 转换之前的数 * s2 转换之后的数 * d1 原进制数 * d2 需要转...
  • langmanqishizaijia
  • langmanqishizaijia
  • 2016年04月07日 17:11
  • 8604

超级(无限)大的 --- 整型10进制数据与16进制数据相互转换

超级(无限)大的 --- 整型10进制数据与16进制数据相互转换; 数据压缩算法,超过整数表示范围的大数据算术运算,大进制数据互相转换; 高效的乘除法竖式计算模型,乘法转换成加法运算,除法转换成减法运...
  • zhengzizhi
  • zhengzizhi
  • 2015年01月25日 22:20
  • 2769

Oracle中各种进制相互转换

一、自带函数可实现十进制与十六
  • heqiyu34
  • heqiyu34
  • 2014年08月09日 23:04
  • 4035

java进制转换

一、进制 进制的由来:任何数据在计算机中都是以二进制的形式存在的。二进制早期由电信号开关演变而来。 计算机为什么要采用二进制呢? 因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省...
  • qqhao01
  • qqhao01
  • 2013年09月15日 17:58
  • 1532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:进制转换(数据存储)
举报原因:
原因补充:

(最多只允许输入30个字)