怎么把这个二进制转化为十进制

10010001110001111010100011000000 这个就是数据,他是一个负数。使用API提示numberformat。
求解答

0

2个回答

public static void main(String[] args) {
String a = "10010001110001111010100011000000 ";
int x =0;
for(char c: a.toCharArray()){
x = x * 2 + (c == '1' ? 1 : 0);

    }if(a.substring(0,1).equals("1")){
        x=-x;
    }
    System.out.println(x);
}
0

这种比较原始的方式可以满足你的要求
但是应该有其他更方便的方式

0
nothway
nothway 回复nothway: 二进制第一位是符号位
2 年多之前 回复
nothway
nothway 回复viewgroup: 判断二进制是不是负数 直接判断第一位是0还是1啊
2 年多之前 回复
viewgroup
viewgroup 所以我想问,怎么判断推导出来的二进制是不是负数呢?因为有的IP转成整形,可能是正数。
2 年多之前 回复
viewgroup
viewgroup 弄出来这个数据其实是因为想逆推导IP转化为int的过程,因为API返回的IP是十进制的整形,所以在想怎么把这个
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
十进制转化为二进制的几种方法
/十进制转二进制的三种方法/ package 数据结构; import java.util.Scanner;; public class 十转二进制 { public static void main(String[] args) { /*方法一:设置一个记位数的变量k; int k=1; //控制位数 int remember; //存放余数 int sum=0; //用来将余数相...
将n位2进制字符串转换为10进制字符串的办法(不直接转化成整数)
正常办法是直接转换成整数,然后再计算10进制,但是注意:如果这个2进制代表的整数很大超出了计算机的表示范围怎么办?一个比较好的办法就是直接计算十进制的每一位.设二进制的表示为bnbn-1..b0,那么第j个十进制就是dj = [sum(bi*2^i/10^j)]mod 10。因为最后对10取余,所以避免溢出,dj = cj + sum[(bi*2i/10)]mod 10.注意这个cj,代表进位,为什
java把十进制转化为二进制数
java把十进制转化为二进制数 java如何把一个十进制数转化为二进制数,调用java的API函数 package Lab3; import java.util.Scanner; public class Main { public voi...
二进制转换为十进制的简便方法
二进制转换为十进制的简便方法。 原来方法: 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如: 01101011转十进制: 第0位:1乘2的0次方=1       1乘2的1次方=2       0乘2的2次方=0       1乘2的3次方=8       0乘2的4次方=0       1乘2的5次方=32
C++中如何将十进制转化为二进制(使用外部函数)
// 【MoreWindows工作笔记3】 使用cout/pintf输出16进制,8进制,2进制数据#include <iostream>#include <bitset>#include <stdlib.h>using namespace std;int main(){  printf(" 【MoreWindows工作笔记3】 使用cout/pintf输出16...
如何快速将十进制转化为二进制
如何快速将十进制转化为二进制16340028 http://sdcs.sysu.edu.cn/Contents 作用 如何进行 原理 1.作用十进制转化二进制的作用在于更好的了解进制间的关系。十进制为人们常用的进制类型,而二进制是计算机使用的进制类型1。这两种进制间的快速相互转化,有利于人们对于这两种进制的更深入的了解。2.如何进行十进制转化为二进制一般使用的是除二取余法[^
C++将二进制转换为十进制
/*题目描述 已知一个只包含 0 和 1 的二进制数,长度不大于 10 ,将其转换为十进制并输出。 输入描述 输入一个二进制整数n,其长度大于0且不大于10 输出描述 输出转换后的十进制数, 占一行 样例输入 110 样例输出 6*/ #include #include using namespace std; int main(){ str
把一个以字符串的二进制形式,转换成十进制的方法
/** * String s="110" * 把一个以字符串的二进制形式,转换成十进制的方法。 * @author Administrator * */public class UUU {public static void main(String[]args){  System.out.println(toNum("110"));}private static int toNum(String ...
java十进制转化为二进制
十进制转化为二进制的方法Integer.toBinaryString(int i)注意:转化的二进制以字符串的形式返回查看一个数的二进制上某一位是0还是1的方法:1、屏蔽法num & (1<<index)) >> index(判断数字num的二进制上第index为是1还是0)2、利用String的charAt方法来查看某一位的ASCII值Integer.toBina...
C/C++将十进制数转为二进制并输出
头文件用了C++的,也可以加上#include <stdio.h>,可以用C语言的输入输出语句。 #include <iostream>//将十进制转为二进制,并输出其中1的个数。 using namespace std;int main(){ int t,n,a[100]; int i,k,j; cin>>t; while(t--)//控制多组输入 { i...
将十进制数转换成二进制
用户输入一个十进制正整数,将其转换成二进制输出。示例代码如下: #include<stdio.h> int main() { int num,c,i=0; int a[100]; printf("输入一个正整数:"); scanf("%d",&num); while(num>0) { c=(num...
c语言实例--十进制转化为二进制
问题:实现十进制转化为二进制的代码。思路先行:第一步:十进制转化为二进制的过程中,就是每次除2取余,并存放在数组中。第二步:输入的数字在0-32767之间。第三步:for循环(从0到14位,最高位为符号位)。第四步:for循环倒叙输出,存放在数组中即为转化后的值。第五步:为了美观,每隔四个数字打印一个空格。代码如下:#include <stdio.h> ...
十进制小数分数与二进制的转换
十进制分数转换为二进制数 使用短除法。 例如将十进制分数11/28转换为二进制数,过程如下: 1、首先将分子分母分别转换成二进制 (11)10=(1011)2 (28)10=(11100)2 2、使用短除,借位时是借2,商只能是0或1 所以:11/28=1011/11100=0.01100100...十进制小数转换为二进制小数 十进制数的整数位是二进制数的整数位,...
用递归函数将十进制转化为二进制
第2周报告1实验目的:学会使用函数的递归 实验内容:用递归函数求解表达式 * 程序头部注释开始程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved.* 文件名称:  * 作 者:石丽君  * 完成日期: 2012年 2月 27日*  版 本 号: * 对任务及求解方法的描述部分*  输入描述:用递
解析字符串,每八位的二进制转为十进制
public class Test { public static void main(String[] args) { String string = "1100000100101001110110010"; String result = getDecimal(string); System.out.println(result); } private static
C语言实现十进制数转换为二进制数
C语言栈的方式实现十进制数转换为二进制数,完整代码,DEVC中直接使用
java实现十进制整数或小数转换成二进制
1. 十进制整数 思路: 整数除以2,每次将余数保存起来,商循环除以2,直到商为0为止,然后将所有余数逆序打印出来。 例子: 23/2  商: 11  余数: 1 11/2  商: 5   余数: 1 5/2    商: 2   余数: 1 2/2    商: 1   余数: 0 1/2    商: 0   余数: 1 代码实现: public Str
进制转换(大数十进制转化成二进制)
题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入描述:多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数)输出描述:每行输出对应的二进制数。示例1输入0 1 3 8 输出0 1 11 1000#include <iostream> #include <string.h> #incl...
十进制整数转化为二进制详解
要想编写十进制转化成二进制的带码首先要清楚十进制转化成二进制的算法,下面我们从两个方面实现这个转化: 1.按照十进制转化成十进制的常规算法实现: 废话不多说直接上图:
十进制转二进制(C++)
除二取余法 相信大家应该都知道,十进制转k进制的方法常用的就是除k取余的方法,这里针对这个方法,给出了C++的代码。需要注意的是,除二取余的方法,对于余数的选取是从后往前取的,所以在代码中,也要解决这个问题才行。 思路分析  模仿不停地除2的过程,每次除2之后用 % 取余数i;用 / 作为下一次除2的被除数temp;j初始化为1,每次除了2之后,j = j*10。最终输出的结果result在...
C++进制转换程序(二进制转换为十进制,十进制转换为二进制)
1.十进制转换为二进制 #include using namespace std; int main(){     int N;     cout     int aa[20];     cin>>N;     int temp;     temp = N;     int num;     int i=0;     while(temp !=0)     {
十进制转化为二进制行向量Matlab
在Matlab中十进制转化为二进制矩阵,可以生成波形,比使用Matlab中自带的函数生成的char型结构更合理
c++,二进制转换十进制
c++ 二进制转换十进制 double power(double x,int n) { double v=1; while(n--) { v=v*x; } return v; }
把二进制文件转换为文本格式(十进制)
首先要清楚文件里,储存的数据的类型,是int,long,longlong还是float,double 其次文件有无字节序(大小端)问题 这两个问题解决了 直接按照数据类型定义一个定长数据,或者数组一次性读入,或者分批读入全部文件。 需要的话,读取以后,先转换一下字节顺序 fopen,二进制读方式,打开文件,fread读取文件,fclose关闭文件 然后转换成十进制ACII格式的数据...
python 十进制转换二进制
在python2.6以上的版本中自带了将十进制转化为二进制的函数bin()。 看一下bin.__doc__怎么说的。 >>> bin.__doc__ 'bin(number) -> string\n\nReturn the binary representation of an integer or long integer.' >>> 这就是一个将十进制转换为二进制的函数,输出是一个
C++实现十进制转为二进制
#include<iostream> using namespace std; void main() { int n,i,j=0; int a[1000]; cin>>n; i=n; while(i) { a[j]=i%2; i/=2; j++; } for(i=j-1;i>=0;i-...
python将二进制转换为十进制
例:将1110110转换为十进制数 解:先将其转换为字符串,再使用int函数,指定进制转换为十进制。 print(int("100111",2))
计算十进制数转化为2进制数之后中1的个数
方法有很多,大致记两个 1,拿最后一位对比,然后移位 2,利用n&=(n-1) 这种黑科技的方法进行统计,这种循环次数能够统计出十进制数转化为2进制数之后其中1的个数 问题描述 任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4 这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道
负数的二进制如何转化为十进制
-5 如何用二进制表示                取反加1      5  ----   0000 0101           取反                   1111 1010            加1                     1111 1011 所以这个就表示 -5   1111 1011  对应十进制中的多少      
C++十进制转换为二进制
//十进制转换为二进制 #include #include #include #include using namespace std; string s; int main(int argc,char * argv[]) { int n; while(cin>>n) { s=""; for(int a = n; a ;a = a/2
如何读取二进制文件,并将其转化为十进制数
1/首先是先是读取1.5个字节的数据 unsigned long Convertp5_2(const char *pchar){   bitset<8>b8_1; bitset<8>b8_2;memcpy(&b8_1,pchar,1);string str8_1=b8_1.to_string();memcpy(&b8_2,pchar+1,1);string ...
Java实现十进制数转化为二进制数的算法
十进制转换为二进制并输出,本文仅讨论整数部分   方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一 直持续下去,直到商为0为止;最后读数时候,从最后一个余数读起,一直到最前面的一个余数。   下面举例:   例:将十进制的168转换为二进制    得出结果 将十进制的168转换为二进制,(10101000)2    分析
(笔试题)将十进制数以二进制的形式输出
这个我们可以这样理解,当我们在平时考试中怎么将十进制转换为二进制,我们利用除2求余数的方法,现在我们编写一个代码来完成这个转换 #include <stdio.h> void main() { int N; int b = -1; int c[100]; int i = 0; printf("输入十进制数:"); scanf("%d",&N)...
Java中输入一个十进制数,如何转换为二进制数
方法一:利用Java API直接转换十进制数如何转换为二进制数,这在Java API 中有一个方法,Integer.toBinaryString( ) 括号里面写上你要转换的十进制数,这样可以直接转换。例如:public static void main(String[] args) { 十进制转换为二进制 System.out.println(Integer.toBi
Python下十进制转换为二进制
前两天,在读高中的姨弟找我,说他信息考试有一道题不会,要在Python下把十进制转换为二进制,问我会不会,我没学过Python,C只学会了皮毛,靠着一丁点对编程的了解,网上查了查,总算拼凑出来了。PS:Python下是有现成函数的,只不过不符合题目要求,所以没用代码如下:# -*- coding: utf-8 -*- n=int(input('请输入要转换进制的数值:')) x=2 #转换为...
js实现将一位整数型数字转化为二进制数(十进制与二进制互转)
我们知道正整数转化为二进制的方法是什么,就是将该数不断除以2求余,一直到最后一个数为1,然后倒着将余数从左往右拼接; 但是负整数的二进制数就不一样了,要先求其绝对值的二进制数后,再求反,最后再加一; 1.当然,这里还有一个简便的方法,可以先求其绝对值之后,再减一,最后求反。 代码实现: ​ function convert(num) { var str = ''; var te...
十进制转化为负二进制
奇怪的电脑 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submission(s) : 21   Accepted Submission(s) : 14 Font: Times New Roman | Verdana | Georgia Font Size: ←...
用代码实现将二进制数转换为十进制,(非使用API)
在java的进制转换中,java自带的有相关的方法,二进制转换为十进制,只需要使用Inteager.valueOf(s,a),其中,s代表的是需要转换的二进制数,后面的a代表我们当前数的进制。比如我们要转换的数是二进制,则a为2. 但是,我们今天要写的是不使用这种自带的方法,来实现二进制到十进制的转换: 首先我们需要一个变量来存储我们的被转换数,其次,我们要使用的是一个变量来存储最终的输出结果
C++如何求一个十进制数转化为二进制数之后1的个数
十进制转二进制: 用2辗转相除至结果为1 ,也就是说要至除2的余数为0 int Count(int x) { int icount = 0; while (x != 0 ) { icount ++; x = x & (x - 1); } }
【c语言】多种方法:将十进制数转化成二进制数,计算其中1的个数
以下是我学到的三种方法,如果大家还有更好的方法,可以讨论交流。 首先,我们得知道十进制怎样转化成二进制,如下图。 得到10的二进制数为1010 那么我们会发现,10%2是判断二进制数的最后一位是0还是1,判断完成后向右移一位即10/2得到5,接着5%2判断二进制数的倒数第二位是0还是1,判断完成后向右移一位即5/2得2,重复这个过程,直到0/2结束。最终我们得到了10的二进制数1010.
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java的一些学习这个。 怎么把python学好