输出一个任意字符串的二进制数

import java.io.*;
   public class Main {
       public static void  main(String[] args)throws IOException{
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            //Scanner br=new Scanner(System.in);
            String character=null;
            while((character=br.readLine())!=null){
                byte[] byteArray =character.getBytes();
                //当character为char型时,用Character.toString().getBytes()方法
                //当character为int、string等等类型时,用String.valueOf()方法
                for (byte b : byteArray) {
                    String binaryByte = Integer.toBinaryString(b & 0xff);//0和1取0,1和1取1
                    /*它的作用是将一个整数与 0xff 进行按位与操作,然后将结果转换为二进制字符串并赋值给变量 binaryByte。其中,“&” 是 按位与 运算符,0xff 是十六进制表示的 255,相当于二进制的 11111111。对0xff进行按位与操作——这样做通常是为了获取一个字节(8 位)的二进制表示,因为在 Java 中整数通常是 32 位或 64 位的,通过与 0xff 进行按位与操作可以只保留原数“二进制数的”低 8 位的值,并将其转换为二进制字符串表示*/
                    System.out.println(binaryByte);
                }
            }           
       }
   }
全部评论

相关推荐

12-11 15:53
FPGA工程师
点赞 评论 收藏
分享
12-11 20:52
已编辑
中央财经大学 管理培训生
凡岛 财务管培 24w
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务