美文网首页
day7 位运算相关

day7 位运算相关

作者: _最美不是下雨天_ | 来源:发表于2019-01-02 17:29 被阅读0次

在计算机编程中,整数可以通过二进制、八进制、十进制、十六进制来表示

1.进制

1.十进制
a.基数:0,1,2,3,4,5,6,7,8,9
b.进位:逢十进一
c.位权:123=110^2+2101+3*100

2.二进制
a.基数;0,1
b.进位:逢二进一
c.位权:101=12^0+02^1+122=5

3.八进制
a.基数:0,1,2,3,4,5,6,7
b.进位:逢八进一
c.位权:123(8)=38^0+281+1*82=83

4.十六进制
基数:0,1,2,3,4,5,6,7,8,9,a/A(10),b/B(11),c/C(12),d/D(13),e/E(14),f/F(15)
b.进位:逢十六进一
c.位权:123(16)=123=116^2+2161+3*160=291

2.程序中怎么表示不同进制的数

a.十进制 直接写
A=10 #这是一个十进制的数

print (A) #直接打印其他进制数就会显示他的十进制

b.二进制
0b+二进制数

num=0b110
print(bin(800)) 打印二进制数的800
print(bin(0xff)) 打印十六进制数的ff

c.八进制
0o+八进制数

num=0o12376
print(oct(800))打印八进制的800

d.十六进制
0x/0X+十六进制数

num=0xa21f
print(hex(255))打印十六进制的255

3.计算机码

计算机存储数据只能存储数字数据,而且存的是数字的补码。
计算机存数据进行运算的时候是使用补码进行运算的,展示结果是使用补码进行运算的,将数据从计算机中读出来看到的是原码

1.原码:
符号位+真值
说明:最高位用0表示正数,1表示负数
真值:去掉正负的数字对应的二进制数
100的原码:01100100
-100的原码:11100100
2.反码:
正数的反码:就是原码
负数的反码:符号位不变,其余位数取反(0变1,1变0)
100的反码:01100100
-100的反码:10011011
3.补码
正数的补码:还是补码
负数的补码:反码加1

100的补码:01100100
-100的反码:10011100

-50的原码:1110010
-50的反码:1001101
-50的补码:1001110
4.为什么要存补码?
因为计算器只有加法器,没有减法器

4.位运算:

&(按位与),|(按位或运算),~(按位取反),^(按位异或运算),>>右移,<<左移
a.
与运算:数字1 & 数字2 --->都为1结果才为1,否则为0
0111 & 1101 --->0101(补码)
特点:一个位上的数如果和1与,可以保留这个位上的数;和0可以置0
应用:判断一个数的奇偶性
num & 1 ==0 --->num是偶数
num & 1 == 1 --->num是奇数
b.
或运算:两个为0才为0
0111 | 1101 ---> 1111
特点:和1或,置1
c.
~数字(取反):将数字上的每一位取反
~1 = 0
~0 = 1
d.
数字1 ^ 数字2(异或运算):相同为0,不同为1
1^1=0
1^0=1
0^1=1
0^0=0
应用:加密;判断两个数是否相等:相同两个数异或1结果为0
e.
数字1 << N :将数字1左移N位,数字12^N
数字2 >> N :将数字1右移N位,数字1
2^N
应用:快速乘2的N次方/除2的N次方

相关文章

  • day7 位运算相关

    在计算机编程中,整数可以通过二进制、八进制、十进制、十六进制来表示 1.进制 1.十进制a.基数:0,1,2,3,...

  • 位运算及用位运算实现权限控制

    请自行补习位运算相关知识 位运算 位运算示例 权限控制

  • 554. 砖墙/ 201. 数字范围按位与

    554. 砖墙 相关标签 : 哈希表 201. 数字范围按位与 相关标签: 位运算

  • Python自学笔记Day7

    Python自学笔记——Day7 Python运算符 3. 赋值运算符 为Python变量提供赋值运算的符号 运算...

  • day7进制和位运算

    一、进制 在计算机编程中,整数可以通过十进制、二进制、八进制和十六进制来表示 1.进制 1.十进制 a.基数:0,...

  • Day7进制与位运算

    python中的进制 计算机在存储数的时候是以二进制的形式去存的python中的进制包含有十进制,十六进制,八进制...

  • JAVA位运算等运算符总结

    JAVA位运算等运算符总结 一、概述 运算符是一种“功能”符号,用以通知 Java 进行相关的运算。 Java 语...

  • 算法整理(1) 位运算相关

    运算符 位运算符用来对二进制位进行操作,Java中提供了如下的位运算符:位运算符中,除 ~ 以外,其余均为二元运算...

  • Bitmaps,Hyperloglog,Geospatial -

    Bitmaps: 位操作Hyperloglog:基数运算Hyperloglog:地理信息经纬度相关操作

  • Day7 作业总结以及位运算

    作业总结 数值交换a = 12b = 13a,b = b,aprint(a,b) 判断列表元素的类型isinsta...

网友评论

      本文标题:day7 位运算相关

      本文链接:https://www.haomeiwen.com/subject/itxtrqtx.html