Tag: 二进制

如何将二进制转换为十进制?

我差不多完成了这段代码,但是它告诉我,public static int power中有一个非法的修饰符; 线。 你能帮忙吗? public static int binToDec(int i) { int[] numbers;//initialize variable int f = 4; String iString = “” + i; int result = 0; int length = iString.length(); public static int power; for(power = iString.length(); power>=0;power–) { while(f == length && f >= 0) { numbers[power] = iString.charAt(power)^power; } length–; […]

数组A的子集,如果我们对该子集的所有元素执行AND,则输出应为2的幂

我得到了这个问题的解决方案: 给定一个数组A.是否存在数组A的任何子集,如果我们对该子集的所有元素执行AND,则输出应该是2的幂(例如:1,2,4,8,16等等)。 输入:第一行包含多个测试用例T.每个测试第一行包含N个数组A,下一行包含N个空格分隔的整数。 输出:对于每个测试用例,如果存在arraysA的任何子集,则打印YES,如果我们对该子集的所有元素执行AND,则输出应该是其他两个打印NO的幂。 解决方案是这样的,但我无法理解下面的解决方案。 请帮忙。 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = br.readLine(); int N = Integer.parseInt(line); for (int i = 0; i < N; i++) { int num = Integer.parseInt(br.readLine()); int[] arr = new int[num]; String arrCnts = br.readLine(); String[] arrStr = arrCnts.split(" "); boolean flag = false; int max = […]

将二进制数转换为十进制数的Java程序。 输入是一串零和一串

我必须创建一个java程序,使用以下步骤将二进制转换为十进制。 作为新人,我做了一些事情,但我不知道我做错了什么或如何继续。 public class BinaryToDecimal { public static void main(String args[]){ long sum = 0; int result; String s = “1001010101011010111001011101010101010101”; for(int i = s.length()-1; i <= 0; i–){ result = (int)Math.pow(2, i); if(s.charAt(i) == '1') sum=sum + result; } System.out.println(sum); } } 使用循环读取(charAt())输入字符串中的每个数字(0/1 char),从右向左扫描; 使用循环来构建所需的2的幂; 使用条件语句分别处理0和1; 使用简单输入进行调试,例如1,10,101,并在循环中打印中间值。 使用您的程序查找以下二进制数的十进制值: 1001010101011010111001011101010101010101

使用Java向后读取二进制文件

我通常使用以下方法读取二进制文件: //What I use to read in the file normally int hexIn; for(int i = 0; (hexIn = in.read()) != -1; i++){ } 我需要做的是向后阅读文件我已经尝试了一些……但它不起作用! 我看了很多帮助页面,但找不到任何东西,我希望你能帮助我。 //How im trying to read in the file backwards for(long i = 0, j = length – 1; i < length; i++, j–){ int hexIn = 0; hexIn = in.read(); […]

字符串到二进制,反之亦然:扩展ASCII

我想通过将String放入一个字节数组( String.getBytes[] )将String转换为二进制,然后将每个字节的二进制字符串( Integer.toBinaryString(bytearray) )存储在String []中。 然后我想通过Byte.parseByte(stringarray[i], 2)转换回普通的String。 这适用于标准ASCII表,但不适用于扩展的表。 例如, A给我1000001 ,但是Ä返回 11111111111111111111111111000011 11111111111111111111111110000100 任何想法如何管理? public class BinString { public static void main(String args[]) { String s = “ä”; System.out.println(binToString(stringToBin(s))); } public static String[] stringToBin(String s) { System.out.println(“Converting: ” + s); byte[] b = s.getBytes(); String[] sa = new String[s.getBytes().length]; for (int i = 0; […]

用Java读取和写入二进制文件(看到文件的一半被破坏)

我在python中有一些工作代码,我需要转换为Java。 我在这个论坛上读过很多post但是找不到答案。 我正在读取JPG图像并将其转换为字节数组。 然后我将此缓冲区写入另一个文件。 当我比较Java和python代码中的写入文件时,最后的字节不匹配。 如果您有任何建议,请告诉我。 我需要使用字节数组将图像打包成需要发送到远程服务器的消息。 Java代码(在Android上运行) 阅读文件: File queryImg = new File(ImagePath); int imageLen = (int)queryImg.length(); byte [] imgData = new byte[imageLen]; FileInputStream fis = new FileInputStream(queryImg); fis.read(imgData); 写文件: FileOutputStream f = new FileOutputStream(new File(“/sdcard/output.raw”)); f.write(imgData); f.flush(); f.close(); 谢谢!

Java二进制文字 – 字节值-128

由于SE 7 Java允许将值指定为二进制文字。 文档告诉我’byte’是一种可以保存8位信息的类型,值为-128到127。 现在我不知道为什么,但我不能定义8位但只有7如果我尝试将二进制文字分配给Java中的一个字节,如下所示: byte b = 0b000_0000; //solves to the value 0 byte b1 = 0b000_0001; //solves to the value 1 byte b3 = 0b000_0010; //solves to the value 2 byte b4 = 0b000_0011; //solves to the value 3 依此类推,直到我们使用这7位获得最后几种可能性: byte b5 = 0b011_1111; //solves to the value 63 byte b6 = 0b111_1111; […]

如何在Java中将小数部分转换为二进制?

我需要将基数10中的0.5转换为基数2(0.1)。 我试过用 Double.doubleToRawLongBits(0.5) 它返回4602678819172646912 ,我猜是hex,但它对我没有意义。

Java:为什么二进制OR不按预期工作(参见下面的代码)?

我不明白以下代码的输出: public static void main(String[] args) { int i1, i2, i3, i4; byte b; i1 = 128; b = (byte) i1; i2 = (int) b; i3 = 0 | b; i4 = 1 << 7; System.out.format("i1: %db: %d i2: %d i3: %d i4: %d\n", i1, b, i2, i3, i4); } 输出: i1: 128 b: -128 […]

存储二进制代码的字符串数组的内存大小

我想在String []数组中存储二进制代码列表,例如在以下示例中… String[] str={“10001”, “100101”,”101010101″}; 存储arrays需要多少内存?