2进制转换成10进制问题,高位在后地位在前,应该怎么转换

javatea_ppl 2003-10-15 11:51:27
我是采用左移8位方法来做的,但有时会出现负数。。。这是为什么?
...全文
150 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
peacock_king 2003-10-15
  • 打赏
  • 举报
回复
参考Integer:
public static int parseInt(String s, int radix)
原码。
quanch 2003-10-15
  • 打赏
  • 举报
回复
最高位是符号位,你左移8位就可能将符号位置为1了,就成负数了。
alienbat 2003-10-15
  • 打赏
  • 举报
回复
换成StringBuffer 再使用StringBuffer类的倒置字符串方法
再换回二进制
vampire1129 2003-10-15
  • 打赏
  • 举报
回复
先将二进制转换成字符数组
再依次读入
如a[]="10001011";

int sum=0;
for(int i=0;i<a.length();i++)
{
int x=(int)(a[i]);
if(x==49){sum+=Math.pow(2,i)}
return sum//十进制数

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧