位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# 字面值 二进制字面值与数字分隔符

提问人:刘团圆发布时间:2020-11-12

无论编程语法有多复杂,计算机都只能以两种状态——0和1来工作,这就是人们所熟知的二进制(基数为 2)。如果愿意,可以将所有的程序都编码为由1和0组成的序列,之后再运行程序。虽然这种方式既不实用也 不值得推荐,但这样做可以将减轻解释器的负担,让解释器不用再从C#、十进制(基数为10)、八进制(基数为 8)或十六进制(基数为16)等对程序进行转换。这样做并没有多大好处,所以必须认识到只有在非常特殊的情况 下才会用到二进制表示法。例如,可能需要以二进制、十六进制或ASCII码的形式将一些值传递给第三方的代 码包。大部分情况下,除非确实需要二进制字面值,否则还是应该使用C#等编程语言来编写代码。

深入理解了有关半字节、位、字节、字符、字、二进制、八进制、十六进制等字面值的技术知识和历史背 景,才能够深入理解何时、在什么地方、如何以及为什么使用这些字面值。我们不会深入探讨“为什么使用” 这个历史问题,也不会深入探讨“如何使用”这个专业问题。现在明白下面这样的问题就己经足够,例如,可 以将二进制字面值作为一种优雅方法,在进行模式匹配和比较时将值存储为常量,还可以用来实现位掩码。如 下面代码行中对二进制和十六进制所做的对比所示,可以发现,二进制数字从右往左循环移动一位。十六进制 值不存在模式,所以很难快速确定代码的意图。

int[] binaryPhases = [ ObOOllOOOl, ObOllOOOlO, ObllOOOlOO, OblOOOlOOl ];

int[] hexPhases = [ 0x31, 0x62/ 0xC4, 0x89 ];

为了更好地理解C# 7的二进制字面值,以下面的代码为例:

int[] numbers = [ lf 2, 4, 8, 16 ];

在C#7中,可以直接以二进制的形式向numbers数组添加值,如下所示:

int[] numbers = [ ObOOOl, ObOOlO, ObOOlOO, ObOOOlOOO, ObOOOlOOOO ];

正如十六进制值以前缀OX表示,编译器会将以Ob开头的任何值都识别为二进制值,并按照二进制值进行 处理。能够想到,较大数的二进制值会非常长,当手动输入时特别容易犯错。例如数字128的二进制值为 10000000——即1后面要跟7个0。对于这种情况,C#7中的新特性数字分隔符就可以派上用场。例如,下面 的代码:

int(] numbers = [ 32, 64, 128 ];

int[] numbers = [ ObOOlO一0000, 0b0100_0000f 0bl000_0000 ];

可以看出,将二进制字面值分隔成数字组有助于増强代码的可读性,便于代码的管理。数字分隔符不只适 用于二进制值,也可以用于十进制、浮点数和双精度数。下面的代码在表示Pi的值时,每三位使用了一个分隔 符。使用数字分隔符的主要目的就是使代码更易读。

public const double Pi = 3.141_592_653_589_793_238_462_643_383_279_502;

继续查找其他问题的答案?

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

2021年国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

2020年解放军文职招聘考试全程直播课

杜老师139课时试听目录

2021级国家电网招聘考试管理专业知识精讲班直播课

黎老师160小时试听目录

2021级国家电网招聘考试其它工学类专业题海练习班直播课

贺老师160小时试听目录

2021级国家电网招聘考试金融专业知识精讲班直播课

钟老师140小时试听目录

2021级国家电网招聘考试计算机专业知识精讲班直播课

杜老师160小时试听目录

2021级国家电网招聘考试通信专业知识精讲班直播课

李老师350小时试听目录

2021级国家电网招聘考试财会专业知识精讲班直播课

王老师120小时试听目录

2021级国家电网招聘考试研究生题海班直播课程

严老师180小时试听目录

2021级国家电网招聘考试研究生电气专业知识精讲班直播课

彭老师160小时试听目录

2021级国家电网招聘考试本科电气专业考前押题班录播课

蒋老师168h试听目录

2021级国家电网招聘考试本科电气专业题海训练班直播课

谷老师165小时试听目录

2021级国家电网招聘考试本科电气专业知识精讲班直播课

严老师160小时试听目录

2021级国家电网招聘考试专科电气专业考前押题班直播课

王老师150小时试听目录

2021级国家电网招聘考试专科电气专业知识题海训练直播课

杨老师146小时试听目录

2021级国家电网招聘考试专科电气专业知识精讲班直播课

崔老师180小时试听目录

2020年湖南中烟公司招聘考试技术工人二岗直播课

刘老师140小时试听目录

2020年湖南中烟公司招聘考试生成车间工人考试直播课

王老师125小时试听目录

2020年湖南中烟公司招聘考试技术工人一岗直播课

李老师140小时试听目录

2020年湖南中烟公司招聘直播课程(协议班)

崔莹莹168h试听目录

2020湖南农村信用社招聘笔试培训(协议保过班)

谢楠200h试听目录

2020军队文职招聘考试面试培训(协议保过班)

刘萍萍124h试听目录

2021国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程

2021级国家电网招聘考试管理类专业知识精讲班录播课

王老师150小时试听目录

2021级国家电网招聘考试其它工学类专业题海练习班录播课

谷老师148小时试听目录

2021级国家电网招聘考试其它工学类专业知识精讲班录播课

夏老师150小时试听目录

2021级国家电网招聘考试其它专业题海练习班录播课

刘老师125小时试听目录

2021级国家招聘考试其它专业题海练习班录播课

李老师140小时试听目录

2021级国家电网招聘考试其它专业知识精讲班录播课

贾老师120小时试听目录

2021级国家电网招聘考试金融专业知识精讲班录播课

王老师140小时试听目录

2021级国家电网招聘考试通信专业知识精讲班录播课

黄老师188小时试听目录

2021级国家电网招聘考试计算机专业知识精讲班录播课

谷老师120小时试听目录

2021级国家电网招聘考试财会专业考前押题班录播课

夏老师15小时试听目录

2021级国家电网招聘考试财会专业题海练习班录播课

杨老师180小时试听目录

2021级国家电网招聘考试财会专业知识精讲班录播课

蒋老师156小时试听目录

2021级国家电网招聘考试研究生电气考前押题班录播课

谷老师12小时试听目录

2021级国家电网招聘考试研究生电气专业题海练习班录播课

李老师170小时试听目录

2021级国家电网招聘考试研究生电气专业知识精讲班录播课

崔老师150试听目录

2021级国家电网招聘考试本科电气专业考前押题班录播课

王老师120小时试听目录

2021级国家电网招聘考试本科电气题海练习班录播课

王老师158小时试听目录

2021级国家电网招聘考试本科电气专业知识精讲班录播课

谷老师170小时试听目录

2021级国家电网招聘考试专科电气专业考前押题班录播课

蒋老师12小时试听目录

2021级国家电网招聘考试专科电气专业题海练习班录播课

崔老师150小时试听目录

2021级国家电网招聘考试专科电气专业知识精讲班录播课

王老师180小时试听目录

在线题库
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部