十六进制字符(十六进制转字符)
八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是10进制数?单从数字的角度来讲都有可能!
八进制
所以在Java中规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。这就是八进制数的表达方法。
123如果是十进制的话是123,八进制的话,则是83,如在变量赋值时可以以十进制的方式赋值int a = 83; 也可以以八进制的方式赋值,int a= 0123;得到的是同样的结果。
十六进制
如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。
16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O)
如int b = 1;int b=0x1;是同样的含义,int b = 17;与int b = 0x11;表达的是同样的值。
不区分正负
10进制数有正负之分,比如12表示正12,而-12表示负 12。但8进制和16进制只能用达无符号的正整数,如果你在代码中里:-078,或者写:-0xF2,编译器并不把它当成一个负数。
package com.lingyejun.blog;public class HexNum { public static void main(String[] args) { int a10 = 99; int a2 = 0b101; int a8 = 0143; int a16 = 0x63; System.out.println(a10); System.out.println(a2); System.out.println(a8); System.out.println(a16); int ma10 = -99; int ma2 = -0b101; int ma8 = -0143; int ma16 = -0x63; System.out.println(ma10); System.out.println(ma2); System.out.println(ma8); System.out.println(ma16); char c = '李' System.out.println("字母A在char中的编号" + Integer.toString('A') + " " + Integer.toBinaryString('A')); System.out.println("字母a在char中的编号" + Integer.toString('a')); System.out.println("char 字符 李 用二进制表示为 :" + Integer.toBinaryString(c)); System.out.println("char 字符 李 用八进制表示为 :" + Integer.toOctalString(c)); System.out.println("char 字符 李 用十六进制表示为 :" + Integer.toHexString(c)); }}
执行结果:
我是「翎野君」,感谢各位朋友的:点赞、收藏和评论,我们下期见。
相关推荐
- 湖北三江航天建筑工程有限公司以 60925996.99 元中标红林总装厂房二期工程
- 江西省天久地矿建设集团有限公司中标龙里县城区排涝工程勘测
- 北京中和联信供应链管理有限公司中标山地农业科技创新基地植物表型研究设备采购及伴随服务(重新招标)项目,中标金额 7764000 元
- 霸州市佳理鑫五金制品厂中标新乐市第三中学采购项目
- 河北泽辉市政工程有限公司等为路南区乡村振兴环境综合治理项目(一期)一标段工程总承包(EPC)(二次)中标候选人
- 河北石府建设工程有限公司10110736.93元中标高铁片区景观提升项目施工三标段
- 中基恒源建设有限公司中标高铁片区(含新华商业广场)景观提升项目施工五标段,中标价 13430852.95 元
- 九芝堂换帅完成工商变更
- 山西建设投资集团有限公司为大宁县水果供应链基地运营配套建设项目施工(二次)第一中标候选人
- 浙江宁慈建设工程有限公司以97028327元中标慈溪市城市生活垃圾收转运一体化建设项目(一期)
