八进制:0-7组成

例子:

八卦

指令在机器中以机器码格式输出,机器码一次原始输出位数是八的倍数,即以字节长度为最小单位输出。

十六进制:0-9,abcde...组成,0X开头

十六进制可以更紧凑地表示二进制,让人们不用直接面对冗长的01机器码

汇编里计算 96÷4。

用 div 指令是这样:

mov ax, 60h

mov cl, 4h

div ax, cl

执行后 al=0x18 表示商,ah=0x0 表示余数。

但是我看应该不会有人愿意这么做。因为 div 指令要求被除数必须放在 ax 中,不能放在别的地方。如果要执行这个除法运算的不是 ax,而是别的寄存器,或者一个内存单元,就必须先把它的值送到 ax 中,然后才能用上面的指令去运算。更要命的是,如果这个时候 ax 中还有别的有用的数据,那就更麻烦了,还得先 push 临时储存,算完以后再 pop 回来。

所以机智的做法应该是下面这样:

mov ax, 60h

shr ax, 1h

shr ax, 1h

这里的 ax 可以换成 bx 等别的寄存器。shr 是逻辑右移,每执行一次相当于除以 2。

96 写成二进制是 01100000,右移一位得到 0110000,也就是十六进制的 0x30,十进制是 48。

再右移一位,变成 011000,十六进制是 0x18,十进制是 24。

如果右移四位,得到的则是 0110,等于 0x6,刚好相当于除以 16。

那么如果改成 96÷32,就要执行五次“shr ax, 1h”。为了避免这个麻烦,可以写成下面这样:

mov ax, 60h

mov cl, 5h

shr ax, cl

对于除数为 2、4、8、16……的除法运算,用 shr 指令比用 div 指令快得多,也方便得多。

在编程中 and、or、not、xor、shl、shr 等是一类非常有用的运算,它们都是为二进制而生的,而引入十六进制的目的之一就是为了便于阅读二进制,因此相对于十进制来说,十六进制拥有无法取代的优势。当然并不是说一定不能用十进制去表示,理论上确实是可行的,只是由于会带来太多麻烦,人们不愿意这样做罢了。

因此,谁要是喜欢在计算机界里搞十进制,谁才是真正的反人类。

二进制原理:

一字节=八个比特位

1byte=8bit

1kb=1024b

1m=1024k

1g=1024m

1t=1024G

八进制转十进制:

java u003_我在B站学编程 DAY-003 JAVA基础概念和语法相关推荐

  1. 想学编程要些啥基础?

    随着编程行业不断发展,人才需求量不断增多,想要转行学习编程的人也愈越来越多.但编程毕竟是一门技术,想学编程要些啥基础?许多转行人都在询问,易牛云朗沃总结了以下三点. 1.会基本英语 编程敲的代码就是英 ...

  2. Java毕设项目高铁站失物招领平台(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目高铁站失物招领平台(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...

  3. 计算机编程螺钉公称,学编程必不可少的螺纹基础篇,分不清牙型的师傅,收藏慢慢看!...

    原标题:学编程必不可少的螺纹基础篇,分不清牙型的师傅,收藏慢慢看! 大家晚上好,我是UG编程流年,欢迎大家阅读本期文章! 螺纹品种 按牙型可分为三角形.梯形.矩形.锯齿形和圆弧螺纹: 按螺纹旋向可分为 ...

  4. Java学习笔记(五):一张图总结完JVM8基础概念

    Java学习笔记(五):一张图总结完JVM8基础概念 引文 最近在学习JVM的相关内容,好不容易把基础概念全部都学了一遍,却发现知识网络是零零散散的.迫不得已,只好再来一次总的归纳总结.为了更好的理解 ...

  5. Java匹马行天下之学编程的起点——高级语言大锅烩

    学编程的起点--高级语言大锅烩 前言: 学知识前总想说点鸡汤,想喝的朋友就看看,不想喝的就直接看干货吧,就当鸡汤是给我自己喝的. 前段时间在网上看了一句话感觉挺触动我的,我做个分享: 如果你觉得你的祖 ...

  6. 在 B 站学编程,真滴牛逼!

    互联网让信息更容易触达,但是由于信息过于庞大,筛选出有价值的信息所花费的精力也会很大. 众所周知,B 站是一个学习的网站,很多人在 B 站上大学.考研.学编程,但 B 站的视频资源那更是五花八门,要从 ...

  7. Java匹马行天下之学编程的起点——走进编程的殿堂

    学编程的起点--走进编程的殿堂 前言: 知其然,知其所以然,努力固然重要,但是思维的提升会让你事半功倍,我会用我花费时间换来的"思维"带更多的朋友入门,让你们明明白白学编程,学编程 ...

  8. Java匹马行天下之学编程的起点——编程常识知多少

    学编程的起点--编程常识知多少 前言: 刚去大学那会,我就知道我被录取的学院是软件学院,还知道一点就是软件学院主要是学电脑的,但具体要学什么其实一无所知.待的时间久了,慢慢的,像"编程&qu ...

  9. c语言 python java css,从零起步学编程 Python篇 Java篇 C#篇 CSS篇 全4册

    内容介绍 本书共四册,从零起步介绍关于Python.Java.C#.CSS这四种常用编程语言的基础知识和实践技巧.作者将以浅显易懂的方式来讲解看似复杂的概念,并通过精选项目来阐述相关问题,进而使你更加 ...

最新文章

  1. Android中对Handler用法的总结
  2. linux 账户安全,在Linux上踢除某个用户和账户安全
  3. LIS(基于贪心的O(NlogN)解法)
  4. 【Linux】一步一步学Linux——passwd命令(85)
  5. 芝麻信用综合评估未通过,请选择商户支持的其他方式使用服务
  6. 第四节: EF调用存储过程的通用写法和DBFirst模式子类调用的特有写法
  7. TensorFlow的一些基本概念
  8. java集合类详解_【Java入门提高篇】Day20 Java集合类详解(三)List接口
  9. combing string
  10. 真羡慕那些能够过目不忘的人
  11. Oracle 相关知识点结构图
  12. linux多线程编程书籍推荐:linux大牛之路从这几本书开始总结
  13. 14.2 movielens
  14. 整流七 - 三相PWM整流器—公式推导篇
  15. layui导入模板数据_使用layui模板填充页面数据
  16. SVN clean up 报错
  17. Anno 让微服务、混合编程更简单(Net love Java)
  18. Python中对一个数组各个数进行累加(反差分计算) cumsum()函数
  19. 毫秒转化天小时分钟秒
  20. 【想法】滴滴更新迭代功能

热门文章

  1. 前端学习(2269)vue造轮子之添加icon
  2. 前端学习(1426):ajax封装
  3. 实例65:python
  4. 搭建VS2008+OpenCV2.1开发环境
  5. 1-2docker-基本的使用
  6. 动态规划-直方图最大长方形
  7. 元组、字典、集合的常用方法
  8. BZOJ 1086 [SCOI2005]王室联邦(树分块)
  9. POJ 4979 海贼王之伟大航路 【状压dp】【北大ACM/ICPC竞赛训练】
  10. Java poi读取,写入Excel2003