2008-06-22
讨论讨论java中的byte,为实现des算法做准备
关键字: bytejava中的byte数值范围是 -128 - 127
-0=-128
负数在计算机中保存的形式是负数的补码形式
所以(1111 1111)补码 =(1000 0001)原码 = -1
(1000 0000)补码 =(1000 0000)原码 = -128
补码的出现是由于用原码来表示减法的时候运算不正确
所以先把两个数都转化为补码形式,然后再做加法运算
请看下面的例子
60-(70)=-10
(0011 1100)原码
- (0100 0110)原码
= (1111 0110)原码= -118 原码
(0011 1100)补码
+ (1011 1010)补码
= (1111 0110)补码= -10 原码
请看示例代码
package com.zuzu.des;
public class JavaByte {
public static void main(String[] args) {
byte b = 0;
for (int i = 0; i <= 0xff; ++i) {
b = (byte) i;
System.out.println(" " + i + ":" + b + ", ");
}
}
}
发表评论
- 浏览: 20314 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
1111
共 2 张
共 2 张
最近加入圈子
最新评论
-
菜鸟和高手的区别
学SQL之前还是应该看看数据库基础吧
-- by 王者之剑 -
买显卡,郁闷啊
显卡这东西, 真是更新最快的。如果不玩游戏, amd未来的cpu集成显卡就很超值 ...
-- by spiritfrog -
买显卡,郁闷啊
有钱人 啊
-- by wf_chn -
这几天一直在面试,刚刚做 ...
题目都每贴出来,别人怎么看
-- by lanxia39 -
软件外包还能挺多久?
中国是有软件行业协会的,只不过它是政府下属的一个机构而已。要是行业的民间自己搞协 ...
-- by robbin






评论排行榜