BIN,BCD,ASCII码分别对应的Hex(16进制)数 以十进制的 56 为例:BIN 码对应二进制数为 0011 1000对应Hex数据为 0x38BIN码就是二进制数;压缩BCD 码对应二进制数为 0101 0110对应Hex数据为 0x56压缩BCD 码:一个字节可存放一个两位十进制数,其中高四位存放十位数,低四位存放个位数;非压缩BCD 码对应二进制数为0000 0101 0000 0110对应Hex数据为 0x05 0x06非压缩BC
以十进制的17为例:
它的二进制是: 0000 0000 0001 0001
其实这就是它的
BIN
码
了,同时可以一目了然的看到它的十六进制就是11. (
BIN
码
就是二进制
数
)
0000 0000 0001 0111(注:1=0001,7=0111)
这是它的
BCD
码
,原则是从低位开始分别以四个Bit
表
示一个位
数
,1=0001,7=0111,如此.(
BCD
码
就是十进制的二进制
数
string = input("请输入一个字符: ")
print(string+" 的
ASCII码
为:",ord(string)) #将字符转换为
ascii码
值
number = input(...
3. // 根据银行卡号获取发卡行名称
getBankName = function (bankCard) {
if (bankCard == null || bankCard == "") {
return "";
$.getJSON("../../Json/bankData.json", {}, function (data) {
var bank
Bin
= 0;
var isFind = false;
for (var key = 10; key >= 2; key--) {
bank
Bin
= bankCard.substring(0, key);
$.each(data, function (i, item) {
if (item.
bin
== bank
Bin
) {
isFind = true;
return item.bankName;
if (isFind) {
break;
if (!isFind) {
return "未知发卡银行";
Delphi 实现ASCII字符与
HEX
16进制
字符互转程序,互相转换程序,在运行如图所示的窗口中,左侧是ASCII字符,右侧是
HEX
进制字符,左侧的ASCII输入完成后,点击中间带箭头的按钮,即可完成互相转换,代
码
基于Delphi7.0.
MEMO1.Text:='';
S:=memo2.Text;
S:=TrimAll(S);//去空格
for i:=0 to (length(s)DIV 2)-1 do
BEGIN
buf1[i]:=BYTE(strtoint('$' copy(S,i*2 1,2)));
MEMO1.Text:=MEMO1.Text CHR(BUF1[I]);
END;
0x3F的
BCD
码
是多少?正确答案:99,或者0x63
0x3F=63,再加0x,->0x63, 再把0x63转为99(0x63=99)
1、如果要
表
示为十六进制,则转换为10进制
数
,前面加0x符号;(十六进制
表
示)
2、如果要
表
示为十进制,则先转换为10进制
数
,前面加0x符号,再把加上符号的
// 根据银行卡号获取发卡行名称
getBankName = function (bankCard) {
if (bankCard == null || bankCard == "") {
return "";
$.getJSON("../../Json/bankData.json", {}, function (data) {
var bank
Bin
= 0;
var isFind = false;
for (var key = 10; key >= 2; key--) {
bank
Bin
= bankCard.substring(0, key);
$.each(data, function (i, item) {
if (item.
bin
== bank
Bin
) {
isFind = true;
return item.bankName;
if (isFind) {
break;
if (!isFind) {
return "未知发卡银行";
; 判断输入的
ASCII码
是否有
对应
的
16进制
数
码
cmp ascii, 0x30 ; 判断是否大于等于0x30
jl error ; 如果小于0x30,转换为特殊值-1
cmp ascii, 0x39 ; 判断是否小于等于0x39
jg check_uppercase ; 如果大于0x39,检查是否为大写字母
sub ascii, 0x30 ; 如果在0x30和0x39之间,转换为
对应
的
16进制
数
码
mov
hex
, ascii ; 存储转换后的
16进制
数
jmp print_
hex
; 跳转到输出
16进制
数
的代
码
check_uppercase:
cmp ascii, 0x41 ; 判断是否大于等于0x41
jl error ; 如果小于0x41,转换为特殊值-1
cmp ascii, 0x46 ; 判断是否小于等于0x46
jg error ; 如果大于0x46,转换为特殊值-1
sub ascii, 0x37 ; 如果在0x41和0x46之间,转换为
对应
的
16进制
数
码
mov
hex
, ascii ; 存储转换后的
16进制
数
jmp print_
hex
; 跳转到输出
16进制
数
的代
码
error:
; 输出特殊值-1
mov eax, 4 ; 系统调用号,输出字符串
mov ebx, 1 ; 文件描述符,标准输出
mov ecx, error ; 存储特殊值-1的变量
mov edx, 2 ; 输出的字节
数
int 0x80 ; 调用系统调用
exit:
; 退出程序
mov eax, 1 ; 系统调用号,退出程序
xor ebx, ebx ; 返回值,0
表
示成功
int 0x80 ; 调用系统调用
print_
hex
:
; 输出转换后的
16进制
数
mov eax, 4 ; 系统调用号,输出字符串
mov ebx, 1 ; 文件描述符,标准输出
mov ecx,
hex
; 存储转换后的
16进制
数
的变量
mov edx, 1 ; 输出的字节
数
int 0x80 ; 调用系统调用
jmp exit ; 跳转到退出程序的代
码
希望能对你有所帮助。