標(biāo)題: 51單片機(jī)片內(nèi)RAM的數(shù)據(jù)存儲格式是怎樣的? [打印本頁]

作者: MagicKrse    時間: 2022-10-21 15:58
標(biāo)題: 51單片機(jī)片內(nèi)RAM的數(shù)據(jù)存儲格式是怎樣的?
51單片機(jī)片內(nèi)RAM一個字節(jié)有8位,可以存放8位二進(jìn)制數(shù)。將數(shù)據(jù)存放到片內(nèi)RAM中時,是存儲的有符號數(shù)據(jù)還是無符號數(shù)據(jù)呢?存儲大于一個字節(jié)所能表示的范圍的數(shù)的時候,是不是就要動用2個以上字節(jié)來存儲呢?

作者: 188610329    時間: 2022-10-21 18:15
你也說了,存放的是 二進(jìn)制數(shù), 和數(shù)據(jù)類型無關(guān)。
數(shù)據(jù)類型是編譯器的事,和51單片機(jī)無關(guān)。
要不要動用兩字節(jié)來存儲大于一個字節(jié)的范圍的數(shù),也是由編譯器決定,和51點片機(jī)無關(guān)。
編譯器如何決定,又和你使用的語言,聲明的變量類型有關(guān)。 就51單片機(jī)而言,你問的這些問題,都不是它自己能決定的。
作者: Y_G_G    時間: 2022-10-21 19:35
是的是的
但在匯編,只有0和1
沒有什么浮點,符號,整型什么的
只要是大于8位的,都是要兩個或者以上的地址來存放
int 就要4個地址來存放
作者: Hephaestus    時間: 2022-10-21 20:07
Y_G_G 發(fā)表于 2022-10-21 19:35
是的是的
但在匯編,只有0和1
沒有什么浮點,符號,整型什么的

%人家問的是“51單片機(jī)”,你回復(fù)了個啥?
作者: wufa1986    時間: 2022-10-22 08:54
芯片沒有你說的概念,處理數(shù)據(jù)符號由編譯器處理,處理數(shù)據(jù)范圍也是由編譯器決定
作者: Y_G_G    時間: 2022-10-22 14:13
Hephaestus 發(fā)表于 2022-10-21 20:07
%人家問的是“51單片機(jī)”,你回復(fù)了個啥?

對的,對的,你說的是對的
作者: coody_sz    時間: 2022-10-22 15:31
51的RAM不區(qū)分類型,都是無符號8位一個字節(jié),而有符號整數(shù)、浮點數(shù)那是編譯器提供的算法。
作者: 人人學(xué)會單片機(jī)    時間: 2022-10-22 17:34
在單片機(jī)里面,無符號的255,其實是等于有符號數(shù)據(jù)的負(fù)1
作者: 一事無成    時間: 2022-10-22 18:04
RAM就像一個個格子,一個格子能放8個單位大小的東西,只要放的下不管放什么東西都行,也就是說,放的東西是你自己定義的,換句話說,RAM只存儲二進(jìn)制的0和1,怎么規(guī)定是什么類型是C語言的事,是一種存儲協(xié)議。至于動用2個以上字節(jié)來存儲,的確是,就像格子,只能是一格一格的,不存在半格,有點像flash的扇區(qū)。
從物理層面上看,里面存儲一串0和1,本身是沒有意義的,需要人為規(guī)定,就像暗號一樣,只有規(guī)定了一定的邏輯才有意義,只不過規(guī)定這個的人不是你,而是已經(jīng)定義好的,
作者: youlinys    時間: 2022-10-22 19:32
搞懂?dāng)?shù)據(jù)是怎么存儲的,也是好事。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1