标题:
负整数补码
[打印本页]
作者:
51黑黑黑
时间:
2016-2-23 22:18
标题:
负整数补码
计算机中的负数是以其补码形式存在的 补码=原码取反+1
个字节有8位 可以表示的数值范围在 -128到+127 用二进制表示也就是 10000000 -01111111(注意:最高位表示符号)最高位是1的都是负数 最高位是0的都是正数
如-7 原码是 10000111 然后取反(最高位是符号不用取反)得11111000加一 得11111001那么-7的二进制数就是 11111001
如果知道一个数是负数,要把它的绝对值算出来,方法是:带上符号一起取反,再+1.
如,ds18b20 中检测到负温度时,要打印出来 “-57”。怎么做??
if(temp<0){a=~temp+1;}之后打印个负号,打印个a即可。。。
因为temp在是负数,则送入变量的是这个负数的二进制数,应当把它的绝对值算出,之后打印个“-”即可。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1