摘要: 给char赋值一个0xA5即165,那么编译器输出的结果该是多少呢? 答案是-91,为什么是这个结果呢? 在编译器当中165这个正数首先会转化成补码存储到内存当中,正数的补码还是其本身: [1010 0101]2 然而将这个数提取出来的时候,编译器发现寄存器当中的这个补码最高位是个1,所以编译器会以 阅读全文
posted @ 2021-06-27 17:51 雾漫大武汉 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 先备知识: 关于负数是如何在内存中是如何存储的? 在计算机内存当中,负数一律按照补码的形式进行存储,例如现在有一个负数-10 -10的二进制原码形式为 [1000 1010]2 这个地方需要注意的是高位为符号位,即当这个数字是负数的时候高位为1,正数时高位为0,且符号为不计入数值当中,只能表示正负数 阅读全文
posted @ 2021-06-27 17:15 雾漫大武汉 阅读(8838) 评论(0) 推荐(0) 编辑