六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 43|回复: 0

java中 int 转 byte 的规律

[复制链接]

升级  37.33%

26

主题

26

主题

26

主题

秀才

Rank: 2

积分
106
 楼主| 发表于 2013-2-4 19:52:01 | 显示全部楼层 |阅读模式
一).
a(-|+)256=c;
如果a为正数那么使用a-256=c,如果说a为负数使用a+256=c
如果结果c不在-128~127之间再次用c(-|+)256依次类推直到
结果c在-128~127之间为止例:
int number=200;
200-256=-56 byte结果 56在 -128~127之间
number =-200;
-200+256=200 byte结果 -56在 -128~127之间
 
number =500;
500-256=244 244不在-128~127之间
244-256=-12 -12在-128~127之间
 
二).
例如: int number=500;
先将要转number数转换成二进制数再取后八位
如果最高位数不等于1那么将取得的二进制数再转
成十进制数就是得到的结果.如果最高位数等于1
那位就将此二进制数的十进制数利用此公式计算.

得到的十进制数-256 得到的就是转换后的byte结果:
 
如果是十六进制或者是八进制也是一样的!
 
例:
number=500
因为int 为 32位,byte 为 8位
500的二进制为:0000 0000 0000 0000 0000 0001 1111 0100
取后八位:1111 0100 再将其转成十进制为 244 (这里的最高位等于1)
244-256=-12 所以以500转成byte为-12
 
number=300
200的二进制数为:0000 0000 0000 0000 0000 0001 0010 1100
取后八位:0010 1100再将其转成十进制为(这里的最高位不等于1) 直接转
结果为:44
<strong />
还有其它的方法和规!慢慢想,哈!
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表