前言: Linux中的文件管理子系统的权限管理,想必大家都知道:rwx分别代表read(可读),write(可写), execute(可执行,如果是可执行程序的话),其中rxw可以按照数字表示: r ------------- 4 w ------------- 2 x ------------- 1 如果有可读,可写,可执行权限,则用7表示... 在最近的项目中,就遇到了这样的问题:我们做是IOT的硬件报警设备,现在一共有7种报警类型,每种设备报警的可能有:1种,多种或者0种,后台返…
定义二进制变量: 一般是以八进制或者十六进制来定义,八进制数以0开头,十六进制数以0x开头 例如int a = 0x80, 这里的80只能表示8个二进制位,它表示的是int的低8位,前面的24个二进制位补0,所以a = 128:也可以 a = –0x80, 此时a = -128:8进制同理 需要注意的是:如果0x-能够在整形内表示,则其默认是int,否则再看unsigned int能否表示,接着long long ,再接着unsigned long long (可以用cout<<typeid…
在硬件语言Verilog中按位操作是相对容易的,在C语言中一样的用好逻辑符号“|”.“!”.“&”.“>>”等即可.但是在Matlab中一些类似的操作是判断或者逻辑用法,不能用在按位操作上.那么在其中就需要用到函数来进行操作了. 在此记录两种按位操作的方法:按位左右移bitshift,按位与bitand. 按位左右移bitshift 1 2 3 4 5 6 7 8 9 10 11 C = bitshift(A,K) returns the value of A shifted to t…
上周五写程序碰到需要处理多重判断的一个逻辑,一般正确的写法是: if a or b or (c and d) or e: pass 因为变量很长,看上去比较杂乱,自己灵机一动写成了如下的样子: if a | b | c&d | e 运行程序,一直报错,后来才恍然大悟,发现一下子犯了两个错误: 第一:python 中& |是位操作 & 按位与 数的按位与 5 & 3得到1. | 按位或 数的按位或 5 | 3得到7. 第二:python中& |是同样优先级的操作,没有…