由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。

但,二进制数太长了。比如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,编译器并不把它当成一个负数。

java八进制写法_Java中8进制和16进制的表示方法相关推荐

  1. java string 编码_java中GBK编码格式转成UTF8,用一段方法实现怎么做?

    unicode是一种"编码",所谓编码就是一个编号(数字)到字符的一种映射关系,就仅仅是一种一对一的映射而已,可以理解成一个很大的对应表格 GBK.UTF-8是一种"编码 ...

  2. C++中如何表示2进制,8进制、16进制变量

    1.C和C++都没有提供二进制数的表达方法. 2.C,C++语言中,如何表达一个八进制数呢? 如果这个数是 876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字.但如果这个数是 ...

  3. JAVA复习:8进制与16进制

    一.八进制 每3位二进制作为一个单元,最小数是0,最大数是7,共8个数字,这就是八进制. 例如:97:01100001拆分:    01 100  001->  1+4+1即 十进制为97的数值 ...

  4. [工具]-C语言中字符串的形式打印16进制数据

    C语言中字符串的形式打印16进制数据. 这样写,输出更直观些 #define PRINT_BUF_MAX (32) #define TAG_STRING_MAX (32) static void pr ...

  5. Python中int、str、bytes相互转化,还有2进制、16进制表示,你想要的都在这里了

    文章目录 前言 数据类型转化 int -> str 使用 str() 函数 使用 format() 函数 使用 hex() 转换成16进制形式 使用 bin() 转换成2进制形式 str -&g ...

  6. java实现2进制转16进制,16进制转2进制(通过查表法和强转实现)

    1.数组的进制转换 package com.vnb.javabase;public class ArrayTest {//16进制数转二进制public static void toHex(int n ...

  7. JAVA 进制转换工具类 10进制转16进制 10进制转2进制 16进制转2进制 16进制10进制 2进制转10进制 2进制转16进制

    进制转换的坑: 注意:使用Integer的方法转换出来的2进制字符串 最高位是没有补零的 ,java的Integer类的toBinaryString()方法转换出来的二进制字符串只会保留最高非零位以后 ...

  8. java 10进制转16进制带ox格式输出

    摘自https://yq.aliyun.com/wenzhang/show_28512 java 10进制转16进制带ox格式输出 如 60(10进制) 输出 : 0x00,0x00,0x00,0x3 ...

  9. C# 中10进制、16进制及其ASCII码之间转化

    C#的进制转换主要用在串口通讯时候 进制转换是人们利用符号来计数的方法.进制转换由一组数码符号和两个基本因素"基数"与"位权"构成. 基数是指,进位计数制中所采 ...

最新文章

  1. MonoRail学习笔记五:定制服务实现自定义功能
  2. 玩点深入的:Java 虚拟机内存结构及编码实战
  3. Ubuntu 12.10中的8个新功能,Quantal Quetzal
  4. 企业实战_01_Redis下载/安装/运行/停止
  5. 如何配置yum源,并安装FTP服务器
  6. Codeforces Round #257 (Div. 2) C. Jzzhu and Chocolate
  7. 2.卷1(套接字联网API)---传输层:TCP,UDP 和 SCTP
  8. 基于verliog的异步模10计数器(含模块代码以及测试代码)
  9. 有替代CV520国产非接触式读写器读卡芯片CI520
  10. 一个由“2020年1月7日 京东出现的重大 Bug 漏洞“引起的思考......
  11. 推荐一个有效清理电脑桌面广告、流氓软件的方法
  12. 【古曲】流水-古琴曲
  13. 资源网址合集的合集,上千个链接!
  14. 生产注意事项(分片集群)
  15. 如何创建java project
  16. MongoDB4.4.2安装记录及无法启动踩坑
  17. spark使用supervisor守护进程
  18. 我有一个梦,袁隆平!
  19. [心情故事]一九九九年的年终工作总结——318冒险日志之初心者の道场
  20. 计算机原理【七】之 输入输出系统

热门文章

  1. HTML5移动Web App相关标准状态及路线图
  2. 沙排啦啦美女激情热舞 明眸皓齿惹人爱
  3. [软件更新]迅雷(Thunder) 5.9.1.922 修正版(0602)
  4. JAVA实现梭哈游戏(初级版本)
  5. 使用CGLib实现动态代理
  6. 【华为机试题】名字漂亮度
  7. 初学者基于Android studio制作的简单版魔塔
  8. 1.Java基础入门
  9. 医疗革命:ChatGPT 在医学和健康领域的应用
  10. Python库资源大全【收藏】