评论

收藏

[C++] 内存初识

编程语言 编程语言 发布于:2021-12-25 19:39 | 阅读数:569 | 评论:0

1.为什么内存数据是反的?
拿4这个值来聊到储存的优势
当你定义一个 int32 num = 4;   时
你用16进制看到的是0x00000004,这看起来很正常。
但在内存中它是这样存放的 04 00 00 00,这时你是不是就头痛了为什么这么摆放,看着很不爽。
而看内存数据的不爽,会让取值变得简单,使它带有被强转的功能。
如 int8* byte = (int8*)#
这时 *byte = 04; //很方便的就取得了这个"地址"下的"低位值"
那么如果内存中为 00 00 00 04 ,你什么知道这个地址的低位在哪?
你会说那不就是 int8* byte = (int8*)&num     +   3嘛~
那如果这个num不是用int32定义的,而是用int16。你再+3给我看看呵
总节:内存数据仅供你参考,它是给cpu干活的,而你却要拿它当书看就得吃点苦头了。


2.电脑内存地址单元(单位:字节)编号怎么产生:
x64电脑有64根地址线,电脑通电时,在每根地址线通电就会产生电信号,电信号只分正负,电信号转化为数字信号,对应数字信号的二进制编号0(正点)1(负电),这组编号也就是每一个内存单元编号了。


关注下面的标签,发现更多相似文章