左移运算符

反码、原码、补码及位运算

家住魔仙堡 提交于 2019-12-05 14:00:13
JAVA的基本数据类型及其取值范围 类型 存储需求 bit 数 取值范围 备注 int 4字节 4*8 -2147483648~2147483647 即 (-2)的31次方 ~ (2的31次方) - 1 short 2字节 2*8 -32768~32767 即 (-2)的15次方 ~ (2的15次方) - 1 long 8字节 8*8 即 (-2)的63次方 ~ (2的63次方) - 1 byte 1字节 1*8 -128~127 即 (-2)的7次方 ~ (2的7次方) - 1 float 4字节 4*8 float 类型的数值有一个后缀 F(例如:3.14F) double 8字节 8*8 没有后缀 F 的浮点数值(例如:3.14)默认为 double boolean 1字节 1*8 true、false char 2字节 2*8 Java中,只要是字符,不管是数字还是英文还是汉字,都占两个字节。 反码、原码、补码 在计算机系统中,数字一律用补码来表示、运算和存储。 原码 :最高位为符号位的二进制数。 反码 :正数的反码是其本身,负数的反码在其原码的基础上,符号位不变,其余各个位取反。 补码 :正数的补码是其本身,负数的补码在其原码的基础上,符号位不变,其余各位取反,最后+1。 由来 : 本来的二进制数是没有正负的,为了区分正负数,将二进制的最高位用来表示正负(0表示正

c语言中的移位运算符

匿名 (未验证) 提交于 2019-12-02 23:43:01
一丶 << 左移运算符 移位规则:左边抛弃,右边补零 int num=10; 0 0 二丶>>右移运算符 1.逻辑移位 左边用0补充,右边丢弃; 左边用原该值的符号位填充,右边丢弃 。 逻辑右移 0 1 1 1 文章来源: https://blog.csdn.net/fuxiaoxiaoyue/article/details/82788324

C++位运算符

ぃ、小莉子 提交于 2019-11-30 19:07:11
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。 C 语言提供的位运算符列表: 运算符 作用 示例 & 按位与 两个操作数同时为1结果为1 | 按位或 两个操作数只要有一个为1,结果就为1 ~ 按位非 操作数为1,结果为0;操作数为0,结果为1 ^ 按位异或 两个操作数相同,结果为0;不相同结果为1 << 左移 右侧空位补0 >> 右移 左侧空位补符号位 1 、“按位与”运算符(&) -- 按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,A=true,B=true,则A∩B= true。 例如: 3&5 3 的二进制编码是11(2)。(为了区分十进制和其他进制,本文规定,凡是非十进制的数据均在数据后面加上括号,括号中注明其进制,二进制则标记为2)内存储存数据的基本单位是字节(Byte),一个字节由8个位(bit)所组成。位是用以描述电脑数据量的最小单位。二进制系统中,每个0或1就是一个位。将11(2

c语言学习笔记-运算符

半城伤御伤魂 提交于 2019-11-30 05:50:50
以下内容均为看郝斌老师视频和教学大纲,总结,复制粘贴而来的笔记。 一些琐碎的运算符知识: 1.自增【或自减】   分类:前自增 ----- ++i      后自增 ----- i++   前自增和后自增的异同:   相同:最终都使i的值加一   不同:     前自增整体表达式的值是i加一之后的值     后自增整体表达式的值是i加一之前的值 为什么会出现自增?   代码更精炼   自增速度更快 学习自增要明白的几个问题   1.我们编程时尽量屏蔽掉前自增和后自增的差别   2.自增表达式最好不要作为一个更大的表达式的一部分来使用    或者说i++或++i单独作为一个语句,不要把他作为完整复合语句的一部分来使用 2.三目运算符   A?B;C   等价于   if(A)     B;   else     C; 3.逗号表达式   格式   (A,B,C,D)   功能:     从左到右执行     最终表达式的值是最后一项的值 4.位运算符   &-按位与   &&-逻辑与也叫并且   &与&&的含义完全不同      |-按位或   ||-逻辑或      ~-按位取反   ~i就是把i变量所有二进制位取反   ^-按位异或   相同为零,不同为一      << -按位左移     左移n位相当于乘以2的n次方,比乘法运算执行快   >>-按位右移