鱼C论坛

 找回密码
 立即注册
查看: 1560|回复: 5

[已解决]有没有比较详细地讲解进制之间关系的视频或者文章

[复制链接]
发表于 2022-7-8 11:46:24 | 显示全部楼层 |阅读模式
40鱼币
本帖最后由 1613551 于 2022-7-8 11:47 编辑

比如8进制前面好像要加上0?16进制前面得加上Ox,Ox的O是必须大写还是什么的?然后'\x2a'是什么意思,\是表示ASCII码的八进制吗?还有1e03这些是什么?小甲鱼好像没有讲过,有相关的视频和文章推荐吗?
最佳答案
2022-7-8 11:46:25
本帖最后由 傻眼貓咪 于 2022-7-8 14:28 编辑
整型字面常量(Integer Literal)
...二进制 binary-literal
...八进制 octal-literal
...十进制 decimal-literal
...十六进制 hexadecimal-literal

(一)二进制 binary-literal
前缀:0b
例子:0b00101101(一个字节大小)

(二)八进制 octal-literal
前缀:0
例子:0723

(三)十进制 decimal-literal
前缀:不是 0 开头
例子:107239

(四)十六进制 hexadecimal-literal
前缀:0x
例子:0x1F3E(一个字节大小)

** 以上例子只针对 C/C++ 语言,其它的程序语言有其它的表示法。



'\xabc' 这里的 '\x' 和 abc 是两样不同东西,前者 '\x' 表示十六进制转义序列,后者 abc 是序号。

转义序列
比如:字符 'C'(在 ASCII 编码为 67,十六进制表示 0x43),所以转义序列就是:'\x43',你也可以放进字符串里,如:
#include <stdio.h>

int main()
{
    char *A = "Fish\x43 hahaha";
    printf("%s\n", A);
    
    return 0;
}
FishC hahaha

十六进制转义序列,一般用于指定或储存不可输入的字符(如 null '\x00',因为 ASCII 编码里不是所有字符都能打印或输入的)




1e03 是浮点类型字面常量以科学计数法形式呈现。

代码:
#include <stdio.h>

int main()
{
    float a = 1e03;
    float b = 1e3;
    
    printf("%f\n", a);
    printf("%f\n", b);

    return 0;
}
1000.000000
1000.000000

最佳答案

查看完整内容

本帖最后由 傻眼貓咪 于 2022-7-8 14:28 编辑 整型字面常量(Integer Literal) ...二进制 binary-literal ...八进制 octal-literal ...十进制 decimal-literal ...十六进制 hexadecimal-literal (一)二进制 binary-literal 前缀:0b 例子:0b00101101(一个字节大小) (二)八进制 octal-literal 前缀:0 例子:0723 (三)十进制 decimal-literal 前缀:不是 0 开头 例子:107239 (四)十六进制 hex ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-8 11:46:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 傻眼貓咪 于 2022-7-8 14:28 编辑
整型字面常量(Integer Literal)
...二进制 binary-literal
...八进制 octal-literal
...十进制 decimal-literal
...十六进制 hexadecimal-literal

(一)二进制 binary-literal
前缀:0b
例子:0b00101101(一个字节大小)

(二)八进制 octal-literal
前缀:0
例子:0723

(三)十进制 decimal-literal
前缀:不是 0 开头
例子:107239

(四)十六进制 hexadecimal-literal
前缀:0x
例子:0x1F3E(一个字节大小)

** 以上例子只针对 C/C++ 语言,其它的程序语言有其它的表示法。



'\xabc' 这里的 '\x' 和 abc 是两样不同东西,前者 '\x' 表示十六进制转义序列,后者 abc 是序号。

转义序列
比如:字符 'C'(在 ASCII 编码为 67,十六进制表示 0x43),所以转义序列就是:'\x43',你也可以放进字符串里,如:
#include <stdio.h>

int main()
{
    char *A = "Fish\x43 hahaha";
    printf("%s\n", A);
    
    return 0;
}
FishC hahaha

十六进制转义序列,一般用于指定或储存不可输入的字符(如 null '\x00',因为 ASCII 编码里不是所有字符都能打印或输入的)




1e03 是浮点类型字面常量以科学计数法形式呈现。

代码:
#include <stdio.h>

int main()
{
    float a = 1e03;
    float b = 1e3;
    
    printf("%f\n", a);
    printf("%f\n", b);

    return 0;
}
1000.000000
1000.000000

评分

参与人数 2荣誉 +6 鱼币 +5 贡献 +3 收起 理由
1613551 + 5 + 5 + 3
ExiaGN001 + 1 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-8 12:00:51 | 显示全部楼层
本帖最后由 临时号 于 2022-7-8 12:03 编辑

http://c.biancheng.net/view/1759.html
https://www.jb51.net/article/217870.htm

评分

参与人数 1鱼币 +5 收起 理由
1613551 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-8 12:04:30 | 显示全部楼层
16进制是零x  不是欧x   

评分

参与人数 1鱼币 +5 收起 理由
1613551 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-7-8 14:44:52 | 显示全部楼层
8进制是0+八进制数

十六进制是 0x(零x),x大小写均可

1e03是科学计数法,x e y即x*(10的y次方)

\开头的字符是8进制数对应字符(ASCII)

\x和\X开头的字符是16进制对应字符(ASCII)

评分

参与人数 1鱼币 +5 贡献 +3 收起 理由
1613551 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2022-7-8 20:21:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-29 09:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表