可以这样弄
定义一个字符串str,将需要转换的数据比如说n求余,将余数连接到str上,然后将这个数n=n/2,继续处以2求余,将余数链接到str后知道最后的n=1为止,将1也连接到str上。输出时候,到这输出即可。
比如n=11:
n%2=1,str=1,n=n/2=5
n%2=1,str=str+1=11,n=n/2=2;
n%2=0,str=str+0=110,n=n/2=1==1结束,str=str+1=1101
到这输出str,最后的结果为1011
定义一个字符串str,将需要转换的数据比如说n求余,将余数连接到str上,然后将这个数n=n/2,继续处以2求余,将余数链接到str后知道最后的n=1为止,将1也连接到str上。输出时候,到这输出即可。
比如n=11:
n%2=1,str=1,n=n/2=5
n%2=1,str=str+1=11,n=n/2=2;
n%2=0,str=str+0=110,n=n/2=1==1结束,str=str+1=1101
到这输出str,最后的结果为1011
不知道你到底要干什么
举个例子最好
按你说的,你可以把26位分成三段或四段数字做运算,再需要的时候按照你的算法去还原,譬如:123456789这个数字,分成123 456 789三个数字做存储来转换2进制,再你需要的时候还原出来123*1000000+456*1000+789,这样就避免你类型过小溢出的情况了。
但我只写了 十进制的四则运算符重载 加减乘除 ——加减 我贴出来了 ,乘除 保留
本来想写一个结构包装大数的二八十六进制的(于上述的大数互相转换,通过运算符重载实现) ,可是碰到 小数部分就不好搞了,理由是要取近似值(比如无理数de )就不够精确了
如果你打算只写整数部分的二进制,比较好办