vs内存监视16进制显示问题

这里监视的是&i
1.他这里展示的是16进制的吧?是不是在内存中存取的是二进制,然后一个整形等于4个字节,一个字节8个比特,所以4个字节为32个比特,然后这里展示的一个00为16进制,等于32个比特,所以4个00刚好等于4个字节是吧,不知这样理解有没有问题?
2.还有一个疑惑就是这里的i是4嘛,那为什么内存监视显示的是在第1个00显示为04,那后面三个00呢?有什么含义?为什么不显示在后面三个00?

img

内存查看器中显示的是16进制的,你看到的一个00是一个字节,8比特
还有一个疑惑就是这里的i是4嘛,那为什么内存监视显示的是在第1个00显示为04,那后面三个00呢?有什么含义?
====WINDOWS中内存存储是倒序存储,即低字节在前,高字节在后,所以如果一个int型的值为4,在内存中看到的四个字节分别是04 00 00 00,实际读取到int类型后,是00 00 00 04,也就是4

你看内存的时候,它是按内存地址排列的,所以会显示16进制,这样刚好1字节2个字符,比较整齐,否则数据从0到255,没法排列整齐
你在监视i的值的时候,是10进制显示的
你也可以右键,选择按16进制显示
不管你按10进制显示还是16进制显示,高位的0都会自动舍去,不会都显示出来

img


第一个4不一定是i,你得取i的地址确定一下才能晓得,万一是巧合的4呢。