在二进制文件中你如何区分数字和字母?我认为正数以0000开头,负数以1000开头,然后加上接下来的4位数,所以-5将是1000 0101。
我知道大写/小写字母从0100和0110开始,所以只是想知道我对这个数字是否正确。
另外,如果你能告诉我如何做小数或特殊符号会很棒, 谢谢 - 乔恩
答案 0 :(得分:0)
二进制只是一个值的表示。对于有符号值,如果MSB为1,则该值为负,如果MSB为0,则该值为正。但是你的陈述的第二部分是不正确的。 1000 0101
不是-5,实际上是-123。为了表示-5,你取值5,即0000 0101
,反转所有位,然后加一,给你1111 1011
。这称为two's complement。
你的下一个声明
我知道大写/小写字母以0100和0110开头
可能不一定是真的。这取决于字符编码。例如,在ASCII中,大写拉丁字母AZ的范围从65到90,可以用二进制表示为0100 0001
到0101 1010
,小写字母az从97到122,表示为二进制为0110 0001
到0111 1010
。
另外,如果你能告诉我如何做小数或特殊符号那么好
再次,取决于编码。如果我们谈论ASCII,则十进制为46,二进制为0010 1110
。
这是一个包含所有8位ASCII字符的表:http://ascii-code.com/
如果您想要除ASCII以外的其他字符,则需要查看Unicode。