早教吧 育儿知识 作业答案 考试题库 百科 知识分享

二进制中的“有符号数”和“无符号数”您好,还想请教几个问题:二进制是表示计数的一种方法,用二进制计数时,用最高位上的1和0来代表这个数的正与负,这样的数就称为“有符号数

题目详情
二进制中的“有符号数”和“无符号数”
您好,还想请教几个问题:
二进制是表示计数的一种方法,用二进制计数时,用最高位上的1和0来代表这个数的正与负,这样的数就称为“有符号数”,同时也存在着“无符号数”。那若给出一个用二进制表示出来的数,如何分辨最高位上的1和0是表示正负,还是不表示正负?
例如:11010110
11010110=214 或 11010110=-86 这两个哪个对啊?
请帮着讲解一下~ 谢谢!
▼优质解答
答案和解析
对于二进制数,最高位是否标识是有符号数,是由定义决定的。
假如你定义变量为:
_int8 var; 则var所对应的二进制的最高位,0标识是正数,1标识为负数。
相应的取值范围为:从-127到127
假如你定义变量为:
unsigned _int8 var;则var所对应的最高位是1或者0,都标识正数。
相应的取值范围为:从0到255
一般如果是有符号数,负数最高位为1,为了方便计算,一般用补码标识,不仅仅把最高位变成1。