Windows10永久去掉预览窗格和详细信息窗格
STM32F103单片机PB4配置PWM+DMA模式
2301_77778311:
我的还是卡住 没有数据发出
sublime中主题字体颜色(注释等)修改方法以及字体样式修改方法
麦克风的纹路:
找到了。。就是那些关键词。。。多试下就都有了了。哈哈
sublime中主题字体颜色(注释等)修改方法以及字体样式修改方法
麦克风的纹路:
可以修改其他的细节吗。。比如具体到函数的参数字体的颜色。。
负数在计算机中的存储方式
做而论道_CS:
八位二进制数,总共有 256 个数值。
用其中一半 (128 个) 代表负数,即:-1 ~ -128;
剩下的一半 (128 个) 保持原值,即: 0 ~ +127。
这些二进制数,就被 “计算机专家” 称为 “补码” 了。
其实,它们仍然是数字,根本就不是什么 “码”!
那么,八位补码的表示范围,就是:-128 ~ +127。
128 个负数,与其八位的补码,对应如下:
==================
负数 补码
-1 1111 1111 = 255 (十进制)
-2 1111 1110 = 254 (十进制)
-3 1111 1101 = 253 (十进制)
。。。。 。。。。
-128 1000 0000 = 128 (十进制)
==================
你如果小学毕了业,你就能看出它们的关系:
[负数]补码 = 256 + 负数。
通用公式:
[负数]补码 = 2^n + 负数。
n 是二进制数的位数。
求补码,就是这么简单!
例如,-27 的八位补码是什么?
解:
[-27 ]补 = 256 - 27 = 229,
229 = 1110 0101 (二进制)。
补码,这不就求出来了吗!
符号位原码反码取反加一,有用吗?
都是用不着的!
由此可知:
补码,与原码反码,并无任何关系。
补码的范围,与它们的范围对不上,也不奇怪。
负数在计算机中的存储方式
做而论道_CS:
计算机中,并没有什么符号位。
计算机中,也没有原码反码补码。
计算机中,只有二进制数字。
八位二进制数字的范围是:
0000 0000 ~ 1111 1111。
相当于十进制的 0 ~ 255。
作为数字来说,二进制数、十进制数,本质都是一样的。
用数字,代表其它的,才叫做 “码”。
如:学号、车牌门牌、电话 ...
计算机中,只有加法器,而且位数是固定的。
最简单的是:
八位二进制 + 八位二进制 = (进位) 八位的和。
当你忽略进位,只取八位的结果,此次加法,就是减法运算。
用十进制来说,比较容易理解。
例如,两位十进制,范围是:0 ~ 99。
(最大值是 99。)
那么:25 - 1 = 24
25 + 99 = (一百) 24
如果你舍弃了进位,这两种算法,功能就是相同的!
即,舍弃了进位:
+99,就是-1 了、
加法,也就是减法运算了。
你有疑问吗?
------------------
对于八位二进制数,其数值范围是:
0000 0000 ~ 1111 1111,
也就是十进制的:0 ~ 255。
此处的最大值 255,也就可以当做-1 使用!
如 13 - 1 = 12,八位机将如下计算:
0000 1101
+ 1111 1111
---------
(进位1) 0000 1100
如果舍弃了进位,本次加法,就实现了减法运算!
你有疑问吗?
--------------------------
这个二进制数 1111 1111,它到底是 255、还是-1 ?
它究竟是个什么东西?
这与 “符号位原码反码” 一丁点关系都没有!
它只取决于你的算法。
你保留进位,它就是 255 (即正数)。
你舍弃进位,它就是-1 (即负数)。
也就是说,1111 1111 的值,是正数还是代表负数?
取决于【你如何看待进位。】
并不是取决于什么 “符号位” !
懂吗?