打印整型的二进制格式-阿里云开发者社区

开发者社区> 李博 bluemind> 正文

打印整型的二进制格式

简介:
+关注继续查看

一共2个文件:
PrintBinary.java       --- 
打印整形的二进制格式
PrintBinaryTest.java --- 
测试文件
主要内容:
打印整型的二进制格式
主要功能:
1.   void printBinaryNumber(int x) 
      
打印整型的二进制格式
文件1:PrintBinary.java

package Common.Utils.DataUtils;

/**
 * 
 * <p>
 * Description: 打印整型的二进制格式
 * </p>
 * <p>
 * Copyright 2006 mjn.
 * </p>
 * 
 * 
@author ma jia nan
 * @Create Date : 2008-02-24
 * @Version : 1.0
 
*/

public class PrintBinary {
    
/**
     * 打印整型的二进制格式
     * 
     * 
@param x
     * 
@return

     
*/

    
public void printBinaryNumber(int x) {
        
int[] buffer = new int[32
];
        
for (int i = 0, mask = 1; i < 32; i++
{
            mask 
= 1
;
            mask 
= mask <<
 i;
            buffer[i] 
= (mask & x) >>
 i;
        }

        
for (int j = 31; j >= 0; j--{
            System.out.print(buffer[j]);
            
if (j % 8 == 0
)
                System.out.print(
" "
);
        }

        System.out.println(
"");
    }

}

文件2:PrintBinaryTest.java 
import Common.Utils.DataUtils.PrintBinary;

/**
 * 
 * <p>
 * Description: 测试PrintBinary
 * </p>
 * <p>
 * Copyright 2006 mjn.
 * </p>
 * 
 * 
@author ma jia nan
 * @Create Date : 2008-03-24
 * @Version : 1.0
 
*/


public class PrintBinaryTest {

    
public static void main(String args[]) 
{
        System.out.println(s((
byte100
));
        System.out.println(s((
byte1
));
        System.out.println(s((
byte-1
));

    }


    
private static byte s(byte b) {
        
return new
 test().swap(b);
    }


    
private void p(int x) {
        
new
 PrintBinary().printBinaryNumber(x);
    }


    
/**
     * 交换b二进制形式(8位)的前4位和后4位
     * 
     * 
@param b
     * 
@return

     
*/

    
public byte swap(byte b) {
        
int lowBits = b & 0xF
;
        
int highBits = b & 0xF0
;
        
int result = lowBits << 4 | highBits >> 4
;

        System.out.println(
"\n\nb=" + b + "  0xF=" + 0xF + "  0xF0=" + 0xF0
);
        System.out.print(
"      b  Binary : "
);
        p(b);
        System.out.print(
"    0xF  Binary : "
);
        p(
0xF
);
        System.out.print(
" lowBits(b&0xF) : "
);
        p((b 
& 0xF
));

        System.out.print(
"\n      b  Binary : "
);
        p(b);
        System.out.print(
"   0xF0  Binary : "
);
        p(
0xF0
);
        System.out.print(
"highBits(b&0xF0): "
);
        p((b 
& 0xF0
));

        System.out.print(
"\n   lowBits << 4 : "
);
        p((lowBits 
<< 4
));
        System.out.print(
"  highBits >> 4 : "
);
        p((highBits 
>>> 4
));
        System.out.print(
"    result( | ) : "
);
        p((result));

        
return (byte
) result;
    }


}

本文转自BlogJavaOo缘来是你oO的博客,原文链接:打印整型的二进制格式,如需转载请自行联系原博主。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【C/C++学院】0725-内存补码分析/补码原码实战/打印整数二进制数据/静态库说明
<h1><span style="font-size:12px"></span></h1> <h2> </h2> <p style="margin-bottom:15px; padding-top:0px; padding-bottom:0px; border:0px; margin-top:0px!important"> <span style="font-size:14px; c
1201 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10089 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10885 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13892 0
解析MYSQL BINLOG 二进制格式(2)--FORMAT_DESCRIPTION_EVENT
原创:转载请说明出处谢谢! 上接 http://blog.itpub.net/7728585/viewspace-2133188/ 参考源: 1、源码log_event.
855 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7503 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7365 0
+关注
李博 bluemind
云栖社区Java、Redis、MongoDB运营小编,有意合作请联系钉钉:15810436147
2107
文章
1103
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载