加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java的16进制和8进制表达式 Ox

(2014-12-03 10:19:30)
标签:

2进制

8进制

16进制

表达式

ox

分类: Java
由于数据在计算机中的表示,最终以 二进制 的形式存在,所以有时候使用二进制,可以更直观 地解决问题。        但, 二进制数太长了。
比如 int    类型占用 4 个字节, 32 位。 
比如 100 , 用 int 类型的二进制数表达将是:        0000    0000    0000    0000    0110    0100       面对这么长的数进行思考或操作,没有人会喜欢。因此, 

C,C++, 以及 java 中     没有提供在代码直接写二 进制数的方法。        

八进制数的表达方法         如何表达一个八进制数呢?如果这个数是  876, 我们可以断定它不是八进制数, 因为八进制数中不可能出 7 以上的阿拉伯数字。但如果这个数是 123 、是 567 ,或 12345670 ,那么它是八进制数还是 10 进制数,都有 可能。     

 所以规定, 一个数如果要指明它采用八进制,必须在它前面加上一个 0( 零 )
如: 123 是十进制,但 0123 则表示采用八进制。这就是八进制数的表达方法。        

在,对于同样一个数,比如是 100 ,我们在代码中可以用平常的 10 进制表达,例如在变量初始化时:       
 int    a    =    100;      
 我们也可以这样写:        int    a    =    0144;    

//0144 是八进制的 100 ;一个 10 进制数如何转成 8 进制 ,我们后面会学到。        

千万记住,用八进制表达时,你不能少了最前的那个 0 。否则计算机会通通当成 10 进制。 

不过,有一个 地方使用八进制数时,却不能使用加 0 ,那就是我们前面学的用于表达字符的 “ 转义符 ” 表达法。       

 十六进制数的表达方法         

如果不使用特殊的书写形式, 16 进制数也会和 10 进制相混。随便一个数: 9876 ,就看不出它是 16 进制 或 10 进制。          16 进制数必须以     0x 开头。 比如     0x1 表示一个 16 进制数。

而 1 则表示一个十进制。另外如: 0xff,0xFF,0X102A, 等等。其中的 x 也不区分大小写。 ( 注意: 0x 中的 0 是数字0,而不是字母O)     

以下是一些用法示例:    
 int   a =   0x100F;    
 int   b   =   0x70   +   a;     至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。

最后一点很重要,10进制数有正负之分,比如12表示正12,而-12表示负12;

但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,编译器并不把它当成一个负数。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有