python中的进制转换和原码,反码,补码python中的进制转换和原码,反码,补码
计算机文件大小单位
b = bit 位(比特)
B = Byte 字节
1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
【python转八进制函数 python8进制转换10进制】1PB = 1024TB
1EB = 1024PB
进制分类
二进制:由2个数字组成,有0 和 1 python中标志:0b
八进制:由8个数字组成,有0,1,2,3,4,5,6,7 python中标志:0o
十进制:有10个数字组成,有0,1,2,3,4,5,6,7,8,9 python中标志:无
十六进制:有16个数字组成,有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f(进制字母大小写都可以,分别代表10,11,12,13,14,15) python中标志:0x
python中的进制转换:
其他进制转换为十进制:int(相应进制)
其他进制转换为二进制:bin(相应进制)
其他进制转换为八进制:oct(相应进制)
其他进制转换为十六进制:hex(相应进制)
二进制 转化成 十进制:
例: 0b10100101
运算:1* 2^0 + 0* 2^1 + 1* 2^2 + 0* 2^3 + 0* 2^4 + 1* 2^5 + 0* 2^6 + 1* 2^7=
1 + 0 + 4 + 0 + 0 + 32 + 0 + 128 = 165
八进制 转化成 十进制:
例: 0o127
运算:7*8^0 + 2*8^1 + 1*8^2 = 7+16+64 = 87
十六进制 转化成 十进制:
例: 0xff
运算:15*16^0 + 15*16^1 = 255
十进制 转化成 二进制:
426 = 0b110101010
运算过程: 用426除以2,得出的结果再去不停地除以2,
直到除完最后的结果小于2停止,
在把每个阶段求得的余数从下到上依次拼接完毕即可
十进制 转化成 八进制:
426 = 0o652
运算过程: 用426除以8,得出的结果再去不停地除以8,
直到除完最后的结果小于8停止,
在把每个阶段求得的余数从下到上依次拼接完毕即可
十进制 转化成 十六进制:
运算过程: 用426除以16,得出的结果再去不停地除以16,
直到除完最后的结果小于16停止,
在把每个阶段求得的余数从下到上依次拼接完毕即可 。
相关推荐:《Python视频教程》
原码,反码,补码
实际人们看到的数字是原码转化之后显示出来的 。
而原码是通过补码得到的 。
计算机的所有数据在底层都是以二进制的补码形式存储 。
***进制转换的时候需要先把内存存储的补码拿出来变成原码在进行转换输出***
反码:二进制码0变1,1变0叫做反码,反码用于原码补码之间的转换 。
补码:用来做数据的存储运算,可以实现计算机底层的减法操作,因而提出(可以表达出一个数的正负) 。
也就是说默认计算机只会做加法,例:5+(-3) = 5 - 3 。
乘法除法是通过左移和右移来实现 。
正数高位补0,负数高位补1 。
正数:
原码 = 反码 = 补码
负数:
反码 = 原码取反(除高位)
补码 = 反码加1
反码 = 补码减1
原码 = 反码取反(除高位)
我们会发现 , 在取反前减1和在取反后加1的效果是一样的,这就和-2-1 = -(2+1)一个道理,所以会得出这样的规律:
原码 = 补码取反加1
补码 = 原码取反加1
一个数在计算机中的二进制表示形式, 叫做这个数的机器数 。机器数是带符号的 , 在计算机用一个数的最高位存放符号, 叫符号位正数为0, 负数为1 。
比如
正数1在计算机中的存储即为
0 00000000000000000000001
负数1 在计算机中的存储即为
1 00000000000000000000001
一个正数,转换为二进制位就是这个正数的原码 。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码 。
正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反 。
推荐阅读
- 直播运营与电商运营自媒体运营,直播运营与电商运营自媒体运营哪个好
- 安卓手机如何微信置顶,安卓手机微信置顶文字怎么设置
- python列表循环取,pythonfor循环列表
- java中循环代码 java循环语句有三种写法
- 鸿蒙系统研发,鸿蒙系统研发了几年
- 网站开发入门,网站开发入门与提高
- 直播如何关闭视频号弹幕,怎样取消视频号直播提醒
- vb.net实现在线注册的简单介绍
- 手机黑屏图片怎么拍摄,手机黑屏照出来的自己是真的吗