当前位置: 首页 > news >正文

十六进制转化为ASCII码引起的的进制的故事

     机器语言是用0和1来处理问题的,在C语言中通过设定不同的显示格式在屏幕上将显示不同的进制格式的数据,比如:十六进制,八进制,二进制,十进制等等,这些都是常用的一些进制.
    回想起关于进制的故事还是很多的,曾经刚刚开始接触进制这些东西的时候确实很不理解,为什么要这样表示数据了?
    我们的手指头有10个,小学的时候做算术题,特别的给力,还记的小学一年级的老师刚刚把算术题往黑板上一些,同学们纷纷伸出手,快速的瓣着指头,惟恐落后.那时候十进制已经在我们的童年生活留下了很深刻的印象.
    有时候运算量大了,或者超过了20或者50,太大,记不住用了多少次两只手,恨不得用上脚指也来运算.
     我们的生活总还有很多关于进制的使用。
   曾经的半斤八两的故事,就可以说明十六进制的使用已经有很久的历史了。
   当初的接触的二进制时候,老师只是讲到0和1在物理电气上很容易实现。实际上进制的使用可是说让我们的生活增添了不知多少色彩。
 
   二进制:
   中国的阴阳,就是一阴一阳
   自然的白昼,黑夜和白天
   当然性别是不能用二进制来讲,因为男不能说加男等于女,或者女加上女等于男。不过可以用0和1来表示男和女。我们在程序设计中数据库中存储性别的时候就用布尔类型来表示性别,用false来表示男,用true表示女,这样就可以用0表示男和1表示女。
 
   七进制:
    星期就是用七进制来表示
 
   八进制:
   八进制在计算机中经常使用,我们的一个字节正好是8bit。
 
    十二进制:
     我们的年的表示就用月来表示,12个月表示一年,这就是12进制的一种体现。
    当然月份我们不能说30,或者31进制,因为月份的天数并不是确定的。
    中国的十二生肖也算是一种十二进制的表示,每个十二年就一个轮回。
 
    十六进制:
     十六进制在计算机和科学计算中还是比较常用的。
     我们可以用四位二进制来表示一位十六进制,十六进制的表示是:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
     我国古代的重量计数就是用十六进制表示,这样就有了“半斤八两”,当然这个词现在是一个贬义词,因为现在我们的重量计数早已经用十进制来表示了。
 
      二十四进制:
     1天=24小时,这是我们生活中常见的一种二十四进制的使用。
    我们国家的进制使用可以说是包罗万象,二十四进制也不例外。我们的二十四节气,就是一个很好的例子。
 
      六十进制:
      想起六十进制就不可思议。曾经有这么一句描述年龄的诗句:“花甲重逢增添三七岁月”,这就表示了141岁的年龄,“古稀双庆再过一度春秋”,这也表示141岁。不过花甲确实也在我国是一种进制的使用,这就是六十进制。一个甲子年就是60个春秋,而且这在我们的生活中经常使用,而且还具有着重大的纪念意义等等云云。
      还有就是我们的时间中分钟和秒分别都是用60进制来表示的。     1分钟=60秒   1小时=60分钟
    下面是汇编语言中十六进制数转化为ASCII码后在DOS窗口显示的代码:
 
 
 
  1. data segment  
  2.      ;asc db 4 dup(?)  
  3.       hx dw 8DB9H  
  4. data ends  
  5.  
  6. code segment  
  7.       assume cs:code,ds:data  
  8.       start:  
  9.             mov ax,data  
  10.             mov ds,ax  
  11.             mov bx,hx  
  12.             ;lea si,asc 
  13.             mov cl,4  
  14.             mov ch,4  
  15.             again:  
  16.             rol bx,cl  ;left move 4 bit 
  17.             mov al,bl ;get bx in low 4 bit 
  18.             and al,0FH ;al in 1 bit ASCII  
  19.             call proc_1  
  20.             ;mov [si],al  
  21.             ;inc si  
  22.             ;just for show the al  
  23.  
  24.             mov ah,2  
  25.             mov dl,al  
  26.             int 21h  
  27.             dec ch  
  28.             jnz again  
  29.             jmp finish  
  30.  
  31. proc_1 proc  
  32.             add al,30H  
  33.             cmp al,39H  
  34.             jbe com  
  35.             add al,7 ;because  between have 7 sign  
  36.             com:  
  37.             ret  
  38. proc_1 endp  
  39.             finish:  
  40.             mov ah,4CH  
  41.             int 21h  
  42. code ends  
  43.       end start 
  我们生活中用到了很多进制,但是当我们用计算机来处理生活中的这些问题的时候,自然就用到各种各样的进制转换。


本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/852475,如需转载请自行联系原作者

相关文章:

  • 1、虚拟机安装
  • apache虚拟主机用户验证
  • 013——数组(十三) array_push array_rand array_reverse
  • WPF/Silverlight Layout 系统概述——Measure
  • hadoop 测试第一个mapreduce程序
  • 【原】iOSCoreAnimation动画系列教程(二):CAKeyFrameAnimation【包会】
  • mockcpp的ApiHook实现原理
  • MySQL数据库字符集由utf8修改为utf8mb4一例
  • IDEA 9.0.2整合Tomcat开发
  • Tomcat多域名访问
  • bootstrap模态框垂直居中
  • 如何让你的python爬虫“拟人化”, 突破60秒不被ban,绝地求生!
  • python(58):python下划线
  • HIVE,PV,UV分析
  • unity如何实现一个固定宽度的orthagraphic相机
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • bootstrap创建登录注册页面
  • Cumulo 的 ClojureScript 模块已经成型
  • HTML5新特性总结
  • Java比较器对数组,集合排序
  • passportjs 源码分析
  • Python_OOP
  • spring学习第二天
  • SQLServer插入数据
  • SSH 免密登录
  • vagrant 添加本地 box 安装 laravel homestead
  • 猴子数据域名防封接口降低小说被封的风险
  • 精彩代码 vue.js
  • 力扣(LeetCode)22
  • 每天10道Java面试题,跟我走,offer有!
  • 目录与文件属性:编写ls
  • 应用生命周期终极 DevOps 工具包
  • 在Mac OS X上安装 Ruby运行环境
  • k8s使用glusterfs实现动态持久化存储
  • (007)XHTML文档之标题——h1~h6
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (zt)最盛行的警世狂言(爆笑)
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)windows配置JDK环境
  • (分布式缓存)Redis持久化
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (一)Thymeleaf用法——Thymeleaf简介
  • (译)2019年前端性能优化清单 — 下篇
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)甲方乙方——赵民谈找工作
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net web项目 调用webService
  • .NET 设计一套高性能的弱事件机制
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .netcore如何运行环境安装到Linux服务器
  • .Net多线程总结