你简直是在胡扯S_B_,只是你不懂而已,不要胡扯了,这个问题关键在于数的进制的问题,俺已经搞明白了。

[复制链接]
查看11 | 回复3 | 2010-10-19 09:52:40 | 显示全部楼层 |阅读模式
public class test {
public static void main(String args[]){
System.out.println("00001111>>2:"+(00001111>>2));
}
}
结果为00001111>>2:146
就是把00001111右移动两位,我就不明白了右移动两位应该是00000011嘛,也就是3啊,怎么变成了(146)啊,
最佳答案 java里面不能直接表示出二进制数
只能直接表示10进制,8进制和16进制
10进制就不说了
8进制以0开头
16进制以0x开头
很明显00001111是8进制,也就是585
回答者: 北门吹牛 - 四级
上面是经典的回答
下面是个灌水的回答
我比较服了。你这是要把一个byte右移2位????
你看看这个是啥,
byte b=15;
System.out.println("00001111>>2:"+(b>>2));
你就该多看看书,看完书以后再有不懂的,再来提问。。
回答者: kingyang85 - 二级

回复

使用道具 举报

千问 | 2010-10-19 09:52:40 | 显示全部楼层
#include #include #define OK 1#define ERROR 0#define OVERFLOW -2typedef struct se{int data;se *next;}SElem;typedef struct{SElem *base;SElem *top;}Stack;int InitStack(Stack *s){/*初始化栈*/s->base = (SElem *)malloc(sizeof(SElem));if(!s->base)
回复

使用道具 举报

千问 | 2010-10-19 09:52:40 | 显示全部楼层
够2
回复

使用道具 举报

千问 | 2010-10-19 09:52:40 | 显示全部楼层
。。。。囧。。请问你是要说什么。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行