怎么知道一个数是几进制的

怎么知道一个数是几进制的,第1张

你在c/c++分类讨论 7000是几进制。
按 c/c++ 语法规定:
加前缀 0x,或 0X 表示的是 16进制数, 0 是数字0,不是字母
加前缀 0 不带 x 也不带X 的是 8 进制数, 0 是数字0,不是字母。
不加前缀的数是十进制数。
所以:
7000 是10进制 整型常数
07000 是8进制 整型常数。
0x7000 是16进制 整型常数。
0X7000 是16进制 整型常数。
------------------------------------
从数学观点来看,7000 可以是 8 进制和 8以上的任何进制数。
因为某进制数,最大的单个数等于 进制减1。

每个数字+0x30,每个字母+0x37就成了。比如开头五个fad1e:
f的16进制是1111,加0x37即1111+00110111=01000110=0x46;
a的16进制是1010,加0x37即1010+00110111=01000001=0x41;
d的16进制是1101,加0x37即1101+00110111=01000100=0x44;
1的16进制是0001,加0x37即0001+00110111=00110001=0x31;
e的16进制是1110,加0x37即1110+00110111=01000101=0x45。
所以16进制数fad1e的ASCII码就是:46 41 44 31 45。
其他的你就照猫画虎吧……

01000001B中的B代表二进制数据,01000001的二进制数据转10进制为65,即'A'字符的ASCII码。

ASC码中字母是连续编码的,即 'B' = 'A' + 1,'C' = 'A' + 2,'D' = 'A' + 3,因为'A'的ASC码是 01000001B,‘B’的ASC码是 01000010B,你在这上面直接加上3的二进制 11B,就得到‘C’的ASC码01000100B。

如果你不会二进制加法,那就把上面的二进制转成10进制,算完后再换回2进制。

01000001B的10进制为65,即'A'字符的ASCII码,那么C的ASCII码为67,转化为二进制为01000100B。

扩展资料:

常见ASCII码的大小规则:0~9<A~Z<a~z。

1)数字比字母要小。如 “7”<“F”;

2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;

3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;

4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。

几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48 [4]  。

参考资料来源:百度百科--ASCII


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10549438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存