用c语言输入键盘上的字符后转换成十六进制输出
来源:互联网 发布:琴爹捏脸数据 编辑:程序博客网 时间:2024/06/07 20:30
用c语言输入键盘上的字符后转换成十六进制输出
悬赏分:10 | 提问时间:2010-9-13 10:26 | 提问者:745922085 | 问题为何被关闭
其他回答 共3条
#include <stdio.h>
#include <conio.h>//getch()的头文件
int main()
{
char c;
printf("请输入一个字符:");
c = getch();//getch()获取输入的字符, 输入之后立即处理,不需要按Enter之类的。
printf("十六进制:%x\n", (int)c);//(int)c,把c转换为int型.%x,输出格式为十六进制
return 0;
}
回答者: lynwey | 二级 | 2010-9-13 10:37
;----------------------------------------------------------------------
;程序名称:DIS_DEC
;功能:通过DOS功能调用显示十进制数最大65535
;入口参数:AX
;出口参数:无
;临时空间:CX
;调 用:HEXTOASCII
;作 者:
;创建日期:2009-11-06
;创建时间:23:12
;程序版本:
;----------------------------------------------------------------------
DIS_DEC PROC
MOV DX, 0
MOV BX, 10000
DIV BX ;(0,AX)/10000,取商
MOV CX, DX ;CX临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;2号功能调用单字符显示万位数,待显示字符ASCII码在DL中
MOV AH, 2 ;2号功能调用
INT 21H ;INT 21H进行调用
MOV DX, 0
MOV BX, 1000
MOV AX, CX
DIV BX ;(0,CX)/1000,取商
MOV CX, DX ;CX临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示千位数
MOV AH, 2
INT 21H
MOV BL, 100
MOV AX, CX
DIV BL ;(AX)/100,取商
MOV CH, AH ;CH临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示百位数
MOV AH, 2
INT 21H
MOV BL, 10
MOV AH, 0
MOV AL, CH
DIV BL ;(0,CH)/10,取商
MOV CH, AH ;CH临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示十位数
MOV AH, 2
INT 21H
MOV AL, CH
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示个位数
MOV AH, 2
INT 21H
MOV DL, 0DH ;显示回车符
MOV AH, 2
INT 21H
MOV DL, 0AH ;显示换行符
INT 21H
RET
ENDP
;----------------------------------------------------------------------
;----------------------------------------------------------------------
;程序名称:HEX2TOASCII
;功能:2位十六进制数转ASCII码
;入口参数:AL
;出口参数:AX
;临时空间:CH:暂寸数据,CL:移位次数
;调 用:HEX1TOASCII:一位HEX转换ASCII码
;作 者:
;创建日期:2009-11-06
;创建时间:23:12
;程序版本:
;----------------------------------------------------------------------
HEX2TOASCII PROC
MOV CH, AL ;暂存数据
AND AL, 0F0H ;取高4位
MOV CL, 4
SHR AL, CL ;右移4位进行转换
CALL HEX1TOASCII ;转换高4位的ASCII码
MOV AH, AL ;保存结果
MOV AL, CH ;取原待转换数据
AND AL, 0FH ;取低4位数据
CALL HEX1TOASCII ;转换低4位的ASCII码
RET
ENDP
;----------------------------------------------------------------------
;----------------------------------------------------------------------
;程序名称:HEX1TOASCII
;功能:1位十六进制数转ASCII码
;入口参数:AL
;出口参数:AL
;临时空间:无
;调 用:
;作 者:
;创建日期:2009-11-06
;创建时间:23:12
;程序版本:
;----------------------------------------------------------------------
HEX1TOASCII PROC
CMP AL, 9
JBE BELOW9 ;小于等于9,加30H
ADD AL, 07H ;大于9,加37H
BELOW9: ADD AL, 30H
RET
ENDP
;----------------------------------------------------------------------
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
悬赏分:10 | 提问时间:2010-9-13 10:26 | 提问者:745922085 | 问题为何被关闭
其他回答 共3条
#include <stdio.h>
#include <conio.h>//getch()的头文件
int main()
{
char c;
printf("请输入一个字符:");
c = getch();//getch()获取输入的字符, 输入之后立即处理,不需要按Enter之类的。
printf("十六进制:%x\n", (int)c);//(int)c,把c转换为int型.%x,输出格式为十六进制
return 0;
}
回答者: lynwey | 二级 | 2010-9-13 10:37
;----------------------------------------------------------------------
;程序名称:DIS_DEC
;功能:通过DOS功能调用显示十进制数最大65535
;入口参数:AX
;出口参数:无
;临时空间:CX
;调 用:HEXTOASCII
;作 者:
;创建日期:2009-11-06
;创建时间:23:12
;程序版本:
;----------------------------------------------------------------------
DIS_DEC PROC
MOV DX, 0
MOV BX, 10000
DIV BX ;(0,AX)/10000,取商
MOV CX, DX ;CX临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;2号功能调用单字符显示万位数,待显示字符ASCII码在DL中
MOV AH, 2 ;2号功能调用
INT 21H ;INT 21H进行调用
MOV DX, 0
MOV BX, 1000
MOV AX, CX
DIV BX ;(0,CX)/1000,取商
MOV CX, DX ;CX临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示千位数
MOV AH, 2
INT 21H
MOV BL, 100
MOV AX, CX
DIV BL ;(AX)/100,取商
MOV CH, AH ;CH临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示百位数
MOV AH, 2
INT 21H
MOV BL, 10
MOV AH, 0
MOV AL, CH
DIV BL ;(0,CH)/10,取商
MOV CH, AH ;CH临时保存余数
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示十位数
MOV AH, 2
INT 21H
MOV AL, CH
CALL HEX1TOASCII ;转换为ASCII码
MOV DL, AL ;显示个位数
MOV AH, 2
INT 21H
MOV DL, 0DH ;显示回车符
MOV AH, 2
INT 21H
MOV DL, 0AH ;显示换行符
INT 21H
RET
ENDP
;----------------------------------------------------------------------
;----------------------------------------------------------------------
;程序名称:HEX2TOASCII
;功能:2位十六进制数转ASCII码
;入口参数:AL
;出口参数:AX
;临时空间:CH:暂寸数据,CL:移位次数
;调 用:HEX1TOASCII:一位HEX转换ASCII码
;作 者:
;创建日期:2009-11-06
;创建时间:23:12
;程序版本:
;----------------------------------------------------------------------
HEX2TOASCII PROC
MOV CH, AL ;暂存数据
AND AL, 0F0H ;取高4位
MOV CL, 4
SHR AL, CL ;右移4位进行转换
CALL HEX1TOASCII ;转换高4位的ASCII码
MOV AH, AL ;保存结果
MOV AL, CH ;取原待转换数据
AND AL, 0FH ;取低4位数据
CALL HEX1TOASCII ;转换低4位的ASCII码
RET
ENDP
;----------------------------------------------------------------------
;----------------------------------------------------------------------
;程序名称:HEX1TOASCII
;功能:1位十六进制数转ASCII码
;入口参数:AL
;出口参数:AL
;临时空间:无
;调 用:
;作 者:
;创建日期:2009-11-06
;创建时间:23:12
;程序版本:
;----------------------------------------------------------------------
HEX1TOASCII PROC
CMP AL, 9
JBE BELOW9 ;小于等于9,加30H
ADD AL, 07H ;大于9,加37H
BELOW9: ADD AL, 30H
RET
ENDP
;----------------------------------------------------------------------
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
- 用c语言输入键盘上的字符后转换成十六进制输出
- 从键盘上输入一个字符,如果是小写字母,则转换成大写字母输出。其他的则不变
- c语言从键盘上输入一串字符串,输入两个数字a和b,截取字符串第a个到第b个字母,并输出截取后的字符串
- 关于C语言使用输入函数后键盘缓冲区还有多余字符没的问题
- 从键盘上输入一个字符,如果它是小写字母,则把它转换成大写字母输出;否则,直接输出。
- C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出
- C语言 十六进制字符转换为字符串
- C语言:输入英文句子,将所有单词首字符转换成大写后输出
- 【C语言】接收字符,大小写字符相互转换后输出,数字不输出
- C语言 编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。
- 【C语言】编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。
- 【c语言】编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出
- C语言 编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。
- 【C语言】从标准输入读取字符,并把它们写到标准输出,除了 大写字母转换成小写字母之外,其他的原样输出。
- 10月 24 日 c语言 从键盘上连续输入字符,并统计其中大写字母的个数,直到输入“换行”字符时结束。
- C语言:编程实现从键盘上输入一组数据,用冒泡排序进行排序输出*选择/
- C语言中字符的输入与输出
- C语言字符数组的输入与输出
- 自动获取用户屏幕分辨率的JS代码
- Eclipse快捷键大全
- MongoDB简介
- POJO,PO,JAVABEAN
- Flash Player渲染模型
- 用c语言输入键盘上的字符后转换成十六进制输出
- iframe高度随内容自动变化
- showModalDialog session 丢失[转]
- 批处理清除VC项目临时文件
- JavaScript得到上传文件的文件名
- 用C#获取WindowsMobile系统手机的手机号和串号
- 敏捷开发中asp.net MVC的开发次序感受(先开发View?先开发Model?先开发Controller!)
- 敏捷项目管理
- Turmeric 网络研讨会录像:Turmeric with Cloud Mashups