首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    0x3f3f3f3f

    前阵子无意中看到了一个不一样的取值,INF=0x3f3f3f3f,这时我又郁闷了,这个值又代表的是什么?于是我去寻找答案,发现这个值的设置真的很精妙!...另一方面,由于一般的数据都不会大于10^9,所以当我们把无穷大加上一个数据时,它并不会溢出(这就满足了“无穷大加一个有穷的数依然是无穷大”),事实上0x3f3f3f3f+0x3f3f3f3f=2122219134...,这非常大但却没有超过32-bit int的表示范围,所以0x3f3f3f3f还满足了我们“无穷大加无穷大还是无穷大”的需求。...现在好了,如果我们将无穷大设为0x3f3f3f3f,那么奇迹就发生了,0x3f3f3f3f的每个字节都是0x3f!...所以要把一段内存全部置为无穷大,我们只需要memset(a,0x3f,sizeof(a))。 所以在通常的场合下,0x3f3f3f3f真的是一个非常棒的选择!

    1K10

    Linux命令行与shell脚本编程大全》第二十章 正则表达式

    linux工具可以用它来过滤文本。 正则表达式利用通配符来描述数据流中第一个或多个字符。 正则表达式模式含有文本或特殊字符,为sed编辑器和gawk程序定义了一个匹配数据时采用的模板。...在linux中有两种流行的正则表达式引擎: 1)POSIX基础正则表达式(BRE)引擎 2)POSIX扩展正则表达式(ERE)引擎 大部分linux工具都至少符合POSIX BRE引擎规范,能够识别该规范定义的所有模式符号...‘/test/{print $0}’ 正则表达式并不关心模式在数据流中的位置,也不关心出现了多少次,只要匹配了就会将该字符串传会linux工具。...t/{print $0}’  // 这里相当于出现了2次,也不会输出 $echo “baet” | gawk ‘/b[a-f]?t/{print $0}’ 20.3.2 加号+ 有点像*号。...例子: $echo “Sat” | gawk ‘/Sat(urday)?/ {print $0}’ 相当于把urday当做一个整体了, /SatF?/  跟这个类似,F出现0次或1次。

    1.2K60

    表格处理awk

    一、软件介绍 awk 是一个强大的文本处理工具,它不仅是 Linux 中,也是其他环境中现有的功能最强大的数据处理引擎之一。...awk 有 3 个不同版本: awk、nawk 和 gawk,一般常用的就是 gawkgawk 是 AWK 的 GNU 版本。我们这里演示的就是 gawk。...第一种是 awk 命令行模式,像普通 linux 命令一样使用 awk,这也是我们最常用的一种方式,在命令行中也可以使用一些 awk 编程程序语言,但是不多。...第二种是使用-f 选项调用 awk 程序。这个和 sed -f 的方法类似,awk 允许将一段 awk 程序写入一个文本文件,然后在 awk 命令行中用-f 选项调用并执行这段程序。...blast6.out | head #逗号间隔多列 awk '{print $1"\t"$3"\t"$5}' blast6.out | head #间隔多列 #2 修改分隔符以及输出分隔符 awk -F

    62320

    运维分享|Linux指令入门之文本查看(三)

    简介: 在 linux 处理文本时要用到工具,执行命令和结果很多时候也是文本方式,处理文本三剑客:grep sed awk。...我们常说linux系统中一切皆文件,对服务配置也都是需要编辑相应的配置文件的。对于我们来说,先查看这些配置文件才是重点。在linux中查看文本文件最常见的命令包括cat、tail、more和head。...[-f script_file] ... [file ...]「CentOS(Linux)」用法: sed [选项]... {脚本(如果没有其他脚本)} [输入文件]......' file ...POSIX options: GNU long options: (standard)-f progfile --file=progfile-F fs --field-separator...', which issection `Reporting Problems and Bugs' in the printed version.gawk is a pattern scanning and

    19310

    0x3f3f3f3f常量在编程中的妙用

    我们的常量还应该满足“无穷大加无穷大依然是无穷大”,至少两个无穷大相加不应该出现灾难性的错误,这一点上2147483647(0x7fffffff)依然不能满足我们 到网上找了下,发现很多大牛都是用0x3f3f3f3f...0x3f3f3f3f的十进制是1061109567,也就是10^9级别的(和0x7fffffff一个数量级),而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形...另一方面,由于一般的数据都不会大于10^9,所以当我们把无穷大加上一个数据时,它并不会溢出(这就满足了“无穷大加一个有穷的数依然是无穷大”),事实上0x3f3f3f3f+0x3f3f3f3f=2122219134...,这非常大但却没有超过32-bit int的表示范围,所以0x3f3f3f3f还满足了我们“无穷大加无穷大还是无穷大”的需求。...,那么奇迹就发生了,0x3f3f3f3f的每个字节都是0x3f

    92720

    对于无穷大0x3f3f3f3f的选择

    一般会有两个选择:0x7fffffff和0x3f3f3f3f 比如对于int类型的数,有的人会采用INT_MAX,即0x7fffffff作为无穷大。...0x3f3f3f3f 0x3f3f3f3f的十进制为1061109567,和INT_MAX一个数量级,即10^9数量级, 而一般场合下的数据都是小于10^9的。...0x3f3f3f3f的数值为1061109567,它的两倍也只有2122219134,不会溢出。 这样就有一个好处,当两个无穷大相加的时候可以使int型整数不溢出,并使数值仍为无穷大。...而使用0x3f3f3f3f在对于数组初始化的时候也比较方便,一般数组批量赋值时会使用memset函数,如果想将一个数组全部定义为"无穷大"的0x3f3f3f3f,因为memset函数是对字节进行操作,而...0x3f3f3f3f的每个字节都是0x3f,所以可以直接定义为memset(array, 0x3f, sizeof(array)) 在java中使用Arrays.fill(arr,0x3f3f3f3f)

    14210

    linux下误执行rm -f命令后,如何恢复文件?

    hi,偶然间看到在linux运行了rm命令之后还能恢复,很是神奇所以就看了下,不知道是不是真的,管他呢先转载啊,不行再删呗反正怎么都是灌水,此文教程并未测试,如有问题请@原作者,在我们在生产环境服务器上执行...删除 误删除服务器目录/root/selenium/Spider下的MySql.Data.dll文件: rm -f /root/selenium/Spider/MySql.Data.dll ll /root...在Linux系统中,每个运行中的程序都有一个宿主进程彼此隔离,以/proc/进程号来体现(Linux本质上就是一个文件系统),比如:ls -l /proc/13067 查看进程PID为13067的进程信息...;当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行 rm -f 删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见

    7.4K31
    领券