码迷,mamicode.com
首页 > 其他好文 > 详细

51CTO大数据学习001

时间:2016-05-07 16:45:59      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:负数形式 二进制转16进制

  1. 负数的表现形式

    负数的表现形式为正数取反+1.其原理为正负相加为0;在计算机世界中,0被看做是一个正数,而不是数学世界中的非正亦非负。


    负数的二进制表示:

    5 :00000101

    -5:11111011(正数各位取反,+1)

    5+(-5) = 100000000   1被溢出结果为0

  2. byte类型数字转换为16进制数的过程及原理

    byte类型占用8个位,将其转换为16进制数时,将低四位与0x0F相与,将高四位转换成为0000

    高四位则右移4位,再与0x0F相与,因为与0x0F相与,所以是否为有符号右移变得不再有意义,因为经过&运算,不管是否有符号,高位全部变为0。程序如下:


    public static String convert(byte b){

    int low = b & 0x0F;

    int high = (b >> 4) & 0x0F;

    char[] arr = {‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘A‘,‘B‘,‘C‘,‘D‘,‘E‘,‘F‘};

    return "" + arr[high] + arr[low];

    }


本文出自 “全栈大牛ing” 博客,请务必保留此出处http://skdevps.blog.51cto.com/6849425/1771023

51CTO大数据学习001

标签:负数形式 二进制转16进制

原文地址:http://skdevps.blog.51cto.com/6849425/1771023

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!